我已经搜索和搜索并搜索了这个!
所以我有一个应用小部件,它有一个配置活动,我可以在按下应用上的按钮时打开它。场景是:
是否打开了应用程序。
使用主页按钮关闭应用程序。
选择添加我的小部件
我已经配置了小部件。
放置在我的主屏幕上
然后使用小部件上的按钮再次打开配置活动。
按返回取消新配置将使我回到应用程序。
当按回来时,我只想回家。
基本上我要问的是。如何在它自己的任务/堆栈中启动配置活动?
我已经研究过意图过滤器,但我不太确定,或者它可能与它所在的包有关,或者它是不可能的!
我想这可能与我用来启动配置活动的意图有关
Intent configIntent = new Intent(this, Configuration.class);
configIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
remoteView.setOnClickPendingIntent(R.id.config, PendingIntent.getActivity(this, 0, configIntent, PendingIntent.FLAG_UPDATE_CURRENT));
也许是因为我以“this”作为上下文启动它,它总是在我的应用程序堆栈中启动......但待处理的意图 api 是:PendingIntent API 1 “请注意,该活动将在现有活动的上下文之外启动"
所以是的,我现在停止说话,因为我最终会绕圈子!
编辑
android:launchMode="singleInstance"
因此,在清单中进行了尝试,如已说明。这有效,但是它阻止了“startActivityForResult”行为的正常工作。(这是配置活动的全部原因)得到错误:
WARN/ActivityManager(59): Activity 正在作为新任务启动,因此取消 Activity 结果。
所以还没有找到解决办法。