Android:通知包未启动
我有一个通知,当通过该通知打开活动时,该通知应该给我一些参数Android:通知包未启动,android,notifications,Android,Notifications,我有一个通知,当通过该通知打开活动时,该通知应该给我一些参数 private void notify_newOrders(int count) { int icon = R.drawable.ic_notification; String ns = Context.NOTIFICATION_SERVICE; NotificationManager mNotificationManager = (NotificationManager) getSystemServ
private void notify_newOrders(int count) {
int icon = R.drawable.ic_notification;
String ns = Context.NOTIFICATION_SERVICE;
NotificationManager mNotificationManager = (NotificationManager) getSystemService(ns);
CharSequence tickerText = infotext;
long when = System.currentTimeMillis();
Notification notification = new Notification(icon, tickerText, when);
Context context = getApplicationContext();
CharSequence contentTitle = "Title";
CharSequence contentText = "Infotext";
Intent notificationIntent = new Intent(this, TestActivity.class);
notificationIntent.putExtra("resuming", "123");
notificationIntent.setAction("resuming");
notificationIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP);
PendingIntent contentIntent = PendingIntent.getActivity(this, 0, notificationIntent, PendingIntent.FLAG_UPDATE_CURRENT);
notification.flags |= Notification.DEFAULT_ALL;
notification.flags |= Notification.FLAG_AUTO_CANCEL;
notification.number = count;
notification.setLatestEventInfo(context, contentTitle, contentText, contentIntent);
mNotificationManager.notify(WORKNOTIFICATION_ID, notification);
}
在我的活动中,我有以下几点:
@Override
public void onCreate(Bundle savedInstanceState)
{
try{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Bundle extras = getIntent().getExtras();
if(extras != null)
{
Log.d("YAY","got extras");
}
问题是,我从来没有得到任何额外的东西。我在这里经历了一次又一次类似的(解决了的)问题,试图找出它们为什么有效,而我的没有被证明是无用的。救命啊
在logCat中,我得到了这些,不知道它们是否相关:
INFO/ActivityManager(59): Starting activity: Intent { act=resuming flg=0x24000000 cmp=com.test.test/.TestActivity bnds=[0,101][320,165] (has extras) }
WARN/ActivityManager(59): startActivity called from non-Activity context; forcing Intent.FLAG_ACTIVITY_NEW_TASK for: Intent { act=resuming flg=0x24000000 cmp=com.test.test/.TestActivity bnds=[0,101][320,165] (has extras) }
看起来您的活动没有创建,而是恢复了。将getExtras代码从onCreate()移动到onResume(),这应该可以工作。结果是正确的做法是
@Override
public void onNewIntent(Intent intent)
试过了,以及其他的onStart等,没有帮助。