我对我的应用程序有两个熵:从菜单和使用Intent。 在第二种情况下,我需要通过
返回一些EXTRA_OUTPUTsetResult(Activity.RESULT_OK, myIntentWithData)
finish()
所以我需要检测我的应用程序是否被另一个人调用(在这种情况下完成或继续工作)
答案 0 :(得分:1)
如果使用startActivityForResult()
调用了您的活动,则可以在getCallingActivity()
中使用Activity
方法。它将返回启动您的活动的ComponentName
(如果您的活动未以startActivityForResult()
方式启动,则 null )。然后,您可以获得getCallingActivity().getPackageName()
或getCallingActivity().getClassName()
。
此处有更多信息getCallingActivity,https://stackoverflow.com/a/5336612/3569545
答案 1 :(得分:0)
使用getIntent()方法获取启动活动的意图。
然后,如果它是从应用程序菜单启动的,那么意图将有主动作。
val intent = getIntent();
if (intent.getAction() != "android.intent.action.MAIN") {
setResult(Activity.RESULT_OK, myIntentWithData)
finish()
}