我有一个警报提醒,显示带有额外数据的通知。我想要做的是通过意图从我的通知发送额外的数据到我的主要活动,然后打开应用程序并调用该活动中的特定方法(位置信息)。该方法将打开一个新的活动,基于locationId我已经通过。
当我的应用程序在后台运行时效果很好,但是当它被杀死时,即当应用程序完全关闭时,它会打开应用程序的主要活动,但不调用该方法。
我的通知代码用于有意发送数据:
Intent intent = new Intent(this, MainActivity.class);
intent.putExtra("fromNotification", true);
intent.putExtra("locationId", locationId);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP
| Intent.FLAG_ACTIVITY_SINGLE_TOP | Intent.FLAG_ACTIVITY_NEW_TASK);
PendingIntent pendingIntent = PendingIntent.getActivity(this, 111, intent,
PendingIntent.FLAG_UPDATE_CURRENT);
这就是我如何称呼我的方法:
@Override
protected void onNewIntent(Intent intent) {
super.onNewIntent(intent);
setIntent(intent);
if (getIntent().hasExtra("fromNotification")) {
String locationId = getIntent().getStringExtra("locationId");
CallFetchLocationInfoFromMapsFragment(locationId);
}
}
我也尝试在我的主要活动的 onCreate 末尾添加它,这应该是解决方案,但它什么也没做:
if (getIntent().hasExtra("fromNotification")) {
String locationId = getIntent().getStringExtra("locationId");
CallFetchLocationInfoFromMapsFragment(locationId);
}
我尝试了更多的解决方案(包括this、this、this、this、this、this、this等等),但无法使其工作
SMILET
慕码人8056858
相关分类