如何检测我的应用是否被另一个应用调用



我的应用程序有两个条目:从菜单和使用意图。 在第二种情况下,我需要返回一些EXTRA_OUTPUT

setResult(Activity.RESULT_OK, myIntentWithData)
finish()

所以我需要检测我的应用程序是否被另一个调用(在这种情况下完成或以其他方式继续工作(

如果使用startActivityForResult()调用您的活动,则可以在Activity中使用getCallingActivity()方法。它将返回启动你的活动的ComponentName(如果你的活动不是使用startActivityForResult()方法启动的,则返回null(。然后你可以得到getCallingActivity().getPackageName()getCallingActivity().getClassName().

更多信息在这里获取呼叫活动, https://stackoverflow.com/a/5336612/3569545

使用 getIntent(( 方法获取启动活动的原因。

然后,如果它是从应用程序菜单启动的,则意图将具有操作主。

val intent = getIntent();
if (intent.getAction() != "android.intent.action.MAIN") {
setResult(Activity.RESULT_OK, myIntentWithData)
finish()
}

相关内容

最新更新