我的主要活动(act1)和小部件中有一个按钮。该按钮启动不同的活动(act2)。
在act1中,我通过执行startActivityForResult启动act2。当它完成后,我用onActivityResult处理它。
但是,在窗口小部件中,我使用PendingIntent启动act2。当act2完成时,它返回到act1,但不会触发onActivityResult。
当它返回到act1时,如何让它触及onActivityResult,或者至少找出widget是否启动了act2?
答案 0 :(得分:1)
当它返回到act1
时,如何使它在onActivityResult上命中
你没有。只有onActivityResult(
调用startActivityForResult()
时才会调用“act1”。
至少要知道act2是否是由小部件启动的?
在Intent
中添加一些内容(例如,自定义操作字符串或额外内容)以区分这两种情况。
答案 1 :(得分:0)
我只是在做同样的事情,在尝试了几种无效的方法后,按照上述方法(1)结束操作,在PendingIntent上执行putExtra以显示它来自小部件,(2) act2 Activity检查意图以查看它是否来自窗口小部件,如果是,则将setResult信息也保存到SharedPreferences,以及(3)使act1 Activity检查SharedPreferences(除了act1具有时的onActivityResult代码)通过startActivityForResult启动了act2,而不仅仅是由PendingIntent添加到了backstack中。