Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/226.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android:通知包未启动_Android_Notifications - Fatal编程技术网

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等,没有帮助。