在我的应用中,我允许通过其他应用进行内容共享(图片或文字)。我按照此处的说明完成了此操作:https://developer.android.com/training/sharing/receive.html
当用户尝试通过其他应用程序共享内容时(如果应用程序已关闭),我必须执行以下步骤:
问题是,虽然上述步骤都运行良好,但在上传完成后我无法找到终止我的应用的方法。这意味着,我的应用程序位于另一个应用程序(启动共享意图)的顶部,用户无法返回到原始应用程序,除非他们按下后退按钮几次。
我最理想的做法是在共享完成(或取消)后立即关闭我的应用,并将用户带回原来的应用。
到目前为止我尝试过:
ShareActivity
(处理共享的主要活动)提出意图,然后在那个上调用onFinish
,但不幸的是,这只会让我再次上传活动这是堆栈中的上一个活动。即使ShareActivity应该是活动堆栈中的父活动,因此无论出于何种原因,在intent中使用的FLAG_ACTIVITY_CLEAR_TOP
似乎没有任何影响。system.exit(0)
(使用(1)中提到的意图进行实例化。这只是完全重新启动我的应用程序,同时仍然位于启动共享的应用程序的顶部。< / LI>
醇>
我真的不知道还能做些什么来强制我的应用关机。我知道我应该让Android做任何他想做的事情来处理应用程序的生命周期,只要我的应用程序以独立模式打开,我就会非常满意。
这是不同的,因为我认为我的应用程序在共享完成后肯定会完全关闭。
我确信必须有办法做到这一点,这就是为什么我在这里提出问题,以防有人之前已经遇到过这个问题,并且能够帮助我。
非常感谢,
答案 0 :(得分:0)
我最终将一个参数(shouldExit
)传递给bundle中的所有先前活动,并在onCreate()上检查了这个参数,如果是,我调用了finish()
。不理想,因为链中有很多活动但至少它有效。