2014-01-10 177 views
0

我使用报警经理及彼本地通知待定意图是我的代码,它完美地运行,所有报警和通知在适当的时候来了。但我想,当我点击通知它应该去Act_Remainder类在我的应用程序。 如何解决这个问题?报警管理器(通知)

Intent intent1 = newIntent(this.getApplicationContext(), Act_Remainder.class); 

    if(intent!=null){ 
     userID = intent.getStringExtra("UserID"); 
     userID1 = intent.getStringExtra("UserID1"); 
     ID = intent.getIntExtra("ID", 0); 
    } 

    Notification notification = new Notification(R.drawable.ioc_icon, 
    userID1, System.currentTimeMillis()); 

    intent1.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP | Intent.FLAG_ACTIVITY_CLEAR_TOP); 

PendingIntent pendingNotificationIntent =  PendingIntent.getActivity(this.getApplicationContext(), 0, intent1, PendingIntent.FLAG_ONE_SHOT); 


notification.flags |= Notification.FLAG_AUTO_CANCEL; 
+0

Thannx所有编辑我的问题,但任何人都可以帮我解决这个问题????????? – krishna

+0

replce PendingIntent.FLAG_ONE_SHOT to PendingIntent.FLAG_UPDATE_CURRENT –

+0

@Lucky我也试过这个,但它在未知的时间发送一个空白通知,意味着1小时或半小时之后......这个时间不确定 – krishna

回答

1

或者干脆用这个...

公共无效在onStart(意向意图,诠释startId){ super.onStart(意向,startId);

mManager = (NotificationManager) this.getApplicationContext() 
      .getSystemService(      this.getApplicationContext().NOTIFICATION_SERVICE); 

    Intent intent1 = new Intent(this.getApplicationContext(),Act_DashBord.class); 
Notification notification = new Notification(R.drawable.applogo_57x57, 
      "Muslim Companion", System.currentTimeMillis()); 

    intent1.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP 
      | Intent.FLAG_ACTIVITY_CLEAR_TOP); 

    PendingIntent pendingNotificationIntent = PendingIntent.getActivity(
      this.getApplicationContext(), 0, intent1,PendingIntent.FLAG_UPDATE_CURRENT); 


    notification.flags |= Notification.FLAG_AUTO_CANCEL; 

    int id = 0; 
    if (intent != null) { 
    String message = intent.getStringExtra("Message"); 
     id = intent.getIntExtra("Id", 0); 
    }   

      notification.setLatestEventInfo(this.getApplicationContext(), 
      "Muslim Companion", message, pendingNotificationIntent); 
    long count = System.currentTimeMillis(); 
    mManager.notify(Integer.valueOf(id), notification); 


    mManager.cancel(Integer.valueOf(id)); 

} 
+0

感谢名单就IM解决我的问题.. – krishna

+0

感谢您的编辑,它是我工作区中的复制和粘贴问题。 –