来自Widget的ONActivityResult

时间:2011-04-03 23:35:50

标签: android

我的主要活动(act1)和小部件中有一个按钮。该按钮启动不同的活动(act2)。

在act1中,我通过执行startActivityForResult启动act2。当它完成后,我用onActivityResult处理它。

但是,在窗口小部件中,我使用PendingIntent启动act2。当act2完成时,它返回到act1,但不会触发onActivityResult。

当它返回到act1时,如何让它触及onActivityResult,或者至少找出widget是否启动了act2?

2 个答案:

答案 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中。