Java Android编程-总是重新启动相同的意图

Java Android编程-总是重新启动相同的意图,java,android,android-intent,Java,Android,Android Intent,我正在使用Android Studio开发一个简单的通信应用程序,这肯定是一个愚蠢的问题,但我还找不到答案 我只是通过点击按钮开始一个新的意图。然而,当用户第一次这样做时,他会被问到想要使用哪种应用程序。因此,至少有两个应用程序具有相同的意图过滤器,即ACTION_VIEW 我的问题是: 在初次点击之后,按钮总是重复使用他最初的选择,因此用户不再需要决定要使用哪个应用程序来达到这个目的。 不幸的是,这正是我想要的。用户应该有机会在每次点击按钮时选择自己喜欢的应用程序 代码的相关部分如下所示: S

我正在使用Android Studio开发一个简单的通信应用程序,这肯定是一个愚蠢的问题,但我还找不到答案

我只是通过点击按钮开始一个新的意图。然而,当用户第一次这样做时,他会被问到想要使用哪种应用程序。因此,至少有两个应用程序具有相同的意图过滤器,即ACTION_VIEW

我的问题是:

在初次点击之后,按钮总是重复使用他最初的选择,因此用户不再需要决定要使用哪个应用程序来达到这个目的。 不幸的是,这正是我想要的。用户应该有机会在每次点击按钮时选择自己喜欢的应用程序

代码的相关部分如下所示:

String uri = String.format(Locale.ENGLISH, "geo:%f,%f", latitude, longitude);
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(uri));
startActivity(intent);
您可以使用显示对话框,供用户选择每次使用哪个应用程序:

[一] 如果要执行的操作可以由多个应用程序处理,并且用户每次可能更喜欢一个不同的应用程序,例如共享操作,对于该操作,用户可能有多个应用程序,他们可以通过这些应用程序共享一个项,您应该显式显示一个选择器对话框。。。。每当用户无法为操作选择默认应用时,“选择器”对话框将强制用户选择要用于该操作的应用

Intent.FLAG\u UPDATE\u CURRENT可能对您有所帮助


虽然此链接可以回答问题,但最好在此处包含答案的基本部分,并提供链接供参考。如果链接页面发生更改,仅链接的答案可能无效。-@这是一个很好的观点。我复制了这里的代码示例,希望能改进我的答案。非常感谢!这非常有效,正是我搜索的内容。@Maill请点击复选框接受我的答案。当你有足够的声誉时,你也可以投票选出你认为有用的答案。
Intent intent = new Intent(Intent.ACTION_SEND);
...

// Always use string resources for UI text.
// This says something like "Share this photo with"
String title = getResources().getString(R.string.chooser_title);
// Create intent to show chooser
Intent chooser = Intent.createChooser(intent, title);

// Verify the intent will resolve to at least one activity
if (intent.resolveActivity(getPackageManager()) != null) {
    startActivity(chooser);
}