我正试图从通知栏开始一个活动,但它需要一个int。从一个活动到另一个活动,我只需要在意图中输入一个int,但我似乎不知道在哪里添加额外的通知栏?这可能吗?如果没有,还有更好的办法吗?
public void notifyMe() {
int icon = android.R.drawable.presence_away;
CharSequence tickerText = "New Task Availible";
long when = System.currentTimeMillis();
Notification notification = new Notification(icon, tickerText, when);
Context context = getApplicationContext();
CharSequence contentTitle = "PRISM Task";
CharSequence contentText = "New Task Availible";
Intent notificationIntent = new Intent(this, TextAnswerActivity.class);
PendingIntent contentIntent = PendingIntent.getActivity(this, 0, notificationIntent, 0);
notificationIntent.putExtra("taskId", 20); //unable to retrieve 20 later
notification.setLatestEventInfo(context, contentTitle, contentText, contentIntent);
final int HELLO_ID = 1;
mNotificationManager.notify(HELLO_ID, notification);
}
如何检索:
Intent myIntent = getIntent();
System.out.println("#######TaskID from Intent ===== " + myIntent.getIntExtra("taskId", -1));
最佳答案
在创建以NotificationIntent作为参数的PendingEntent之前,必须调用NotificationIntent.PutExtras(…)。尝试此代码:
Intent notificationIntent = new Intent(this, TextAnswerActivity.class);
notificationIntent.putExtra("taskId", 20);
PendingIntent contentIntent = PendingIntent.getActivity(this, 0, notificationIntent, 0);
Notification notification = new Notification(icon, tickerText, when);
notification.setLatestEventInfo(context, contentTitle, contentText, contentIntent);
接收数据:
Bundle b = getIntent().getExtras();
if (b != null) {
int taskId = b.getInt("taskId");
System.out.println("############# taskID: " + taskId);
}
关于android - 从通知状态栏进行 Activity 的 Intent ?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3766396/