2012-02-09 52 views
1

中發出通知(proximate alert)我已經在用戶進入特定位置時設置了通知。當用戶在通知欄輸入半徑電話顯示通知並一次振動時會發生什麼情況。即使我清除通知電話保持振動請幫助我! 這裏是通知的代碼:在真實設備上振動多次然後在android

import android.app.Dialog; 
import android.app.Notification; 
import android.app.NotificationManager; 
import android.app.PendingIntent; 
import android.content.BroadcastReceiver; 
import android.content.Context; 
import android.content.Intent; 
import android.graphics.Color; 
import android.location.LocationManager; 
import android.os.Bundle; 
import android.util.Log; 
import android.view.Window; 
import android.view.WindowManager; 
import android.widget.TextView; 


    public class ProximityIntentReceiver extends BroadcastReceiver { 

    private static int NOTIFICATION_ID = 0; 
    public static final String EVENT_ID_INTENT_EXTRA = "EventIDIntentExtraKey"; 
    public static final String PLACE_NAME = "PLACE"; 
    public static final String ITEM_NAME = "ITEM"; 
    String Place_Name = "",Item_Name = ""; 


    @Override 
    public void onReceive(Context context, Intent intent) { 
     Log.v("entered",""); 
     String key = LocationManager.KEY_PROXIMITY_ENTERING; 
     //Bundle extras = getIntent().getExtras(); 
     NOTIFICATION_ID = intent.getIntExtra(EVENT_ID_INTENT_EXTRA, -1); 
     Place_Name = intent.getStringExtra(PLACE_NAME); 
     Item_Name = intent.getStringExtra(ITEM_NAME); 
     Boolean entering = intent.getBooleanExtra(key, false); 
     Log.v(Place_Name,Item_Name); 

     if (entering) { 
      Log.d(getClass().getSimpleName(), "entering"); 
     } 
     else { 
      Log.d(getClass().getSimpleName(), "exiting"); 
     } 


     NotificationManager notificationManager = 
      (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE); 

     PendingIntent pendingIntent = PendingIntent.getActivity(context, 0, null, 0);  

     Notification notification = createNotification(); 
     notification.setLatestEventInfo(context, "Hello You are near to this", Place_Name + " and your task is " + Item_Name, pendingIntent); 

     notificationManager.notify(NOTIFICATION_ID, notification); 

    } 

    private Notification createNotification() { 
     Notification notification = new Notification(); 

     notification.icon = R.drawable.newnotification; 
     notification.when = System.currentTimeMillis(); 

     notification.flags |= Notification.FLAG_AUTO_CANCEL; 
     notification.flags |= Notification.FLAG_SHOW_LIGHTS; 

     notification.defaults |= Notification.DEFAULT_VIBRATE; 
     notification.defaults |= Notification.DEFAULT_LIGHTS; 

     notification.ledARGB = Color.WHITE; 
     notification.ledOnMS = 1500; 
     notification.ledOffMS = 1500; 

     return notification; 
    } 
} 

什麼即時做錯了?

回答

1

試試這個:

notification.defaults |= Notification.DEFAULT_LIGHTS; 
notification.defaults |= Notification.FLAG_ONLY_ALERT_ONCE; 
notification.defaults |= Notification.DEFAULT_SOUND; 
notification.flags |= Notification.FLAG_AUTO_CANCEL; 
notification.defaults |= Notification.DEFAULT_VIBRATE; 
+0

謝謝,我會盡力讓你知道。 – 2012-02-10 05:50:18

0

notification.when來告訴系統在什麼時間給通知。