通知addAction创建没有行为的按钮

时间:2014-11-08 13:50:12

标签: android android-intent android-notifications

我想在android中为我的通知添加一个按钮。 我使用addAction方法来添加一个意图,该意图打开主要活动(与点击整个通知相同),但附加一个包含数据的包。 这是我到目前为止所做的:

notificationManager = (NotificationManager)this.getSystemService(NOTIFICATION_SERVICE);

//regular intent to view main activity
PendingIntent contentIntent = PendingIntent.getActivity(this,Constants.MAIN_ACTIVITY,
                              new Intent(this, MainActivity.class), 0);

//intent for viewing transaction dialog, within main activity using PURCHASE_DIALOG request code
Bundle bundle = new Bundle();
bundle.putParcelableArrayList(Constants.LIST, (java.util.ArrayList<? extends android.os.Parcelable>) list);
PendingIntent purchaseIntent = PendingIntent.getActivity(
                               this, Constants.PURCHASE_DIALOG,
                               new Intent(this, MainActivity.class), 0, bundle);

NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(this)
                        .setSmallIcon(R.drawable.ic_launcher)
                        .setContentTitle(Constants.NOTIFICATION_TOPIC)
                        .setStyle(new NotificationCompat.BigTextStyle()
                        .bigText(watchResponse.toString()))
                        .setAutoCancel(true)
                        .addAction(R.drawable.ic_launcher, "Buy", purchaseIntent)
                        .setContentText(message);

mBuilder.setContentIntent(contentIntent);
notificationManager.notify(NOTIFICATION_ID, mBuilder.build());

我只是希望点击额外操作后我的onResume课程中的MainActivity会被调用,然后我就可以通过getIntent()获得捆绑包了点击它时没有任何反应。单击该按钮,但活动仍然打开,我的应用程序活动无法启动。

1 个答案:

答案 0 :(得分:0)

我有一个非常相似的问题,但是一个非常不同的解决方案。如果您在manifest.xml文件中声明了<service android:enabled="false"></service>,则也不会触发挂起的意图。

android:enabled="false"替换为android:enabled="true"

这可能不是问题的直接问题。但是如果你使用默认模板在android studio中创建服务,它会自动将这些属性添加到服务中。

如果这不起作用,您可以在此处找到类似的问题: Android Notification Action is not fired (PendingIntent)