【发布时间】:2014-03-11 00:12:37
【问题描述】:
我正在尝试创建一个通知,单击该通知将打开一个外部应用程序。我看过creating notifications 和sending the user to another app 的文档。但我似乎无法弄清楚如何将两者结合起来。问题是从通知启动应用程序的建议方法是创建 待定意图,如下所示:
Intent intent = new Intent(this, MyActivity.class);
TaskStackBuilder stackBuidler = TaskStackBuilder.create(context);
stackBuilder.addParentStack(MyActivity.class);
stackBuilder.addNextIntent(intent);
PendingIntent pendingIntent = stackBuilder.getPendingIntent(0, PendingIntent.FLAG_UPDATE_CURRENT);
但是要启动一个外部应用程序,您必须像这样创建一个隐式意图:
String uri = ...
Intent intent = new Intent(Intent.ACTION_VIEW, uri);
据我所知,没有办法以这种意图创建 TaskStackBuilder,因为addParentStack() 只会采用Activity、Class 或ComponentName。
我想问题归结为...是否可以创建一个既未决又隐含的意图?
我现在能想到的唯一解决方法是在我的应用中创建一个除了启动外部应用之外什么都不做的 Activity。
我确实尝试从 URI 创建意图,然后执行以下操作,但是当您单击通知时没有任何反应:
PendingIntent pendingIntent = PendingIntent.getActivity(context, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT);
【问题讨论】:
标签: android android-intent android-notifications