通知按钮后 return 到原始 activity
After notification button return to original activity
我写了一个应用程序,每隔一定时间就会通过 alarmIntent 发出通知。用户单击通知并进入 activity。在这个 activity 中做了一些事情之后,他应该在点击通知之前按下一个按钮 return 到他所在的原始应用程序(如浏览器或主屏幕等)。
我的问题是,用户总是 return 到我的应用程序的主要 activity。
我该如何更改?
谢谢!
尝试 Activity.finish()
在按钮点击侦听器函数内。这类似于按后退按钮。
尝试在您的 Activity
中添加此行
@Override
public void onBackPressed() {
super.onBackPressed();
Intent intent = new Intent(Intent.ACTION_MAIN);
intent.addCategory(Intent.CATEGORY_DEFAULT);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
finish();
System.exit(0);
}
Notification 启动的 Activity 有两种类型:常规和特殊。
常规 Activity 始终 return 启动器或您之前的 activity。
特殊 Activity 将 return 加入您的应用程序。
根据您的描述,您应该使用Regular Activity 并通过TaskStackBuilder 获取PendingIntent,它会为通知创建一个人工返回堆栈activity。
例如:
PendingIntent resultPendingIntent =
stackBuilder.getPendingIntent(0, PendingIntent.FLAG_UPDATE_CURRENT);
这是文档,您可以在此处找到详细信息。
http://developer.android.com/guide/topics/ui/notifiers/notifications.html
所以我最终找到了解决方案:
您需要按照该问题中的说明将 Intent.FLAG_ACTIVITY_MULTIPLE_TASKS 标志添加到意图中:
Go back to previous screen on backbutton pressed after responding to notification
我写了一个应用程序,每隔一定时间就会通过 alarmIntent 发出通知。用户单击通知并进入 activity。在这个 activity 中做了一些事情之后,他应该在点击通知之前按下一个按钮 return 到他所在的原始应用程序(如浏览器或主屏幕等)。 我的问题是,用户总是 return 到我的应用程序的主要 activity。 我该如何更改?
谢谢!
尝试 Activity.finish()
在按钮点击侦听器函数内。这类似于按后退按钮。
尝试在您的 Activity
中添加此行@Override
public void onBackPressed() {
super.onBackPressed();
Intent intent = new Intent(Intent.ACTION_MAIN);
intent.addCategory(Intent.CATEGORY_DEFAULT);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
finish();
System.exit(0);
}
Notification 启动的 Activity 有两种类型:常规和特殊。 常规 Activity 始终 return 启动器或您之前的 activity。 特殊 Activity 将 return 加入您的应用程序。
根据您的描述,您应该使用Regular Activity 并通过TaskStackBuilder 获取PendingIntent,它会为通知创建一个人工返回堆栈activity。
例如:
PendingIntent resultPendingIntent =
stackBuilder.getPendingIntent(0, PendingIntent.FLAG_UPDATE_CURRENT);
这是文档,您可以在此处找到详细信息。 http://developer.android.com/guide/topics/ui/notifiers/notifications.html
所以我最终找到了解决方案: 您需要按照该问题中的说明将 Intent.FLAG_ACTIVITY_MULTIPLE_TASKS 标志添加到意图中: Go back to previous screen on backbutton pressed after responding to notification