Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/208.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
是否知道Android活动是从特定的弹出对话框启动的?_Android - Fatal编程技术网

是否知道Android活动是从特定的弹出对话框启动的?

是否知道Android活动是从特定的弹出对话框启动的?,android,Android,具体来说,我有一个活动,可以从主屏幕调用,也可以从另一个活动中弹出的对话框中选择“OK”来调用。我想要的是,如果弹出窗口选择了该活动,则该活动的行为会略有不同(自动启动,而不是等待用户输入) 在不知道其他情况的情况下,我的第一反应是在调用startActivity()之前选择“OK”时简单地设置一个共享首选项变量。然后,我可以让我的活动在做任何事情之前始终检查该共享变量 这是有效的,还是有一些内置的Android方式可以做到这一点 我看过: 而且似乎没有办法知道它是否是从主屏幕启动的。这很好,

具体来说,我有一个活动,可以从主屏幕调用,也可以从另一个活动中弹出的对话框中选择“OK”来调用。我想要的是,如果弹出窗口选择了该活动,则该活动的行为会略有不同(自动启动,而不是等待用户输入)

在不知道其他情况的情况下,我的第一反应是在调用startActivity()之前选择“OK”时简单地设置一个共享首选项变量。然后,我可以让我的活动在做任何事情之前始终检查该共享变量

这是有效的,还是有一些内置的Android方式可以做到这一点

我看过:

而且似乎没有办法知道它是否是从主屏幕启动的。这很好,因为在我的例子中,我更关心它是否来自对话框……我不关心用户可以通过任何其他可能的方式进行此活动


我在“startActivityForResult”上看到了一些东西……但我不是真的在等待任何结果或任何东西,它是否适用于这里?还有其他类似的方法我还没有找到吗?

当你开始你的活动时,你可以在你的意图上多加一点:

intent.putExtra(KEY_IS_DIALOG, true);
在第二个活动中,您可以使用:

getIntent().getBooleanExtra(KEY_IS_DIALOG, defaultValue); 

谢谢,这工作做得很好!