是否知道Android活动是从特定的弹出对话框启动的?
具体来说,我有一个活动,可以从主屏幕调用,也可以从另一个活动中弹出的对话框中选择“OK”来调用。我想要的是,如果弹出窗口选择了该活动,则该活动的行为会略有不同(自动启动,而不是等待用户输入) 在不知道其他情况的情况下,我的第一反应是在调用startActivity()之前选择“OK”时简单地设置一个共享首选项变量。然后,我可以让我的活动在做任何事情之前始终检查该共享变量 这是有效的,还是有一些内置的Android方式可以做到这一点 我看过: 而且似乎没有办法知道它是否是从主屏幕启动的。这很好,因为在我的例子中,我更关心它是否来自对话框……我不关心用户可以通过任何其他可能的方式进行此活动是否知道Android活动是从特定的弹出对话框启动的?,android,Android,具体来说,我有一个活动,可以从主屏幕调用,也可以从另一个活动中弹出的对话框中选择“OK”来调用。我想要的是,如果弹出窗口选择了该活动,则该活动的行为会略有不同(自动启动,而不是等待用户输入) 在不知道其他情况的情况下,我的第一反应是在调用startActivity()之前选择“OK”时简单地设置一个共享首选项变量。然后,我可以让我的活动在做任何事情之前始终检查该共享变量 这是有效的,还是有一些内置的Android方式可以做到这一点 我看过: 而且似乎没有办法知道它是否是从主屏幕启动的。这很好,
我在“startActivityForResult”上看到了一些东西……但我不是真的在等待任何结果或任何东西,它是否适用于这里?还有其他类似的方法我还没有找到吗?当你开始你的活动时,你可以在你的意图上多加一点:
intent.putExtra(KEY_IS_DIALOG, true);
在第二个活动中,您可以使用:
getIntent().getBooleanExtra(KEY_IS_DIALOG, defaultValue);
谢谢,这工作做得很好!