Android启动活动退出回调函数



我正在启动android设置活动,从android服务。

Intent LaunchIntent =  getPackageManager().getLaunchIntentForPackage("com.android.settings");
startActivity(LaunchIntent);

我正在搜索,如何检测设置活动是否关闭,因为我需要一些回调方法。

如果有一个回调方法来知道设置或任何其他应用程序,如浏览器,如果在这个方法中启动,知道启动的活动是否退出自己的

由于设置和浏览器是通用代码,我们不能在这些活动中放置广播代码。

使用startActivityForResult启动设置活动,如下所示:

Intent LaunchIntent = 
           getPackageManager().getLaunchIntentForPackage("com.android.settings");
startActivityForResult(LaunchIntent, 42); 

通常,你会使用一个特定的请求代码作为第二个参数,但是在这种情况下,你无法控制Activity作为结果返回的设置,你只想知道它什么时候完成,所以你基本上可以创建一个请求代码。但是,它必须大于0。文档在这里说明:

requestCode如果>= 0,当活动退出时,此代码将在onActivityResult()中返回。

然后,您可以覆盖onActivityResult方法来处理设置活动关闭时发生的事情:

@Override
protected void onActivityResult (int requestCode, int resultCode, Intent data){
    // Do whatever you would like to do
}

如果你在启动活动时使用了特定的请求代码,这是你检查结果代码是否存在的地方,但由于我们不期望任何实际结果,结果代码可能等于RESULT_CANCELLED,但这没关系,因为你至少知道活动被取消了

最新更新