gpt4 book ai didi

android - 为什么会为此 Intent 弹出 "complete action using"?

转载 作者:行者123 更新时间:2023-11-29 00:07:17 25 4
gpt4 key购买 nike

我只是将一些社交网络连接到我的应用程序作为初步测试并使用相同类型的代码,我得到的结果对于 Facebook、Instagram 和 Twitter Intent 是不同的。

当我点击 Facebook 或 Twitter 时,它会在安装时自动打开应用程序,在未安装时使用浏览器。然而,Instagram 并非如此。使用对话框的完整操作弹出,这不是我想要发生的事情。

protected void LaunchInstagram() {
String InstagramUsername = "USERNAME";
String LaunchInstagram = "http://instagram.com/_u/" + InstagramUsername;
String InstagramURL = "https://instagram.com/" + InstagramUsername;
try {
this.getPackageManager().getPackageInfo("com.instagram.android", 0);
Uri Uri = Uri.parse(LaunchInstagram);
startActivity(new Intent(Intent.ACTION_VIEW, Uri));
} catch (PackageManager.NameNotFoundException InstagramAppNotFoundOpenBrowser) {
startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(InstagramURL)));
}
}

最佳答案

您正在使用

String InstagramURL = "https://instagram.com/ "+ InstagramUsername;

因此,您尝试启动的每个 Intent 都会打开一个选择器,因为这是一个 URL。

比每个支持 URL 的应用程序(如浏览器等)都会尝试处理它。

编辑 1:

这样试试:

public static boolean openApp(Context context, String packageName) {
PackageManager manager = context.getPackageManager();
try {
Intent i = manager.getLaunchIntentForPackage(packageName);
if (i == null) {
return false;
//throw new PackageManager.NameNotFoundException();
}
i.addCategory(Intent.CATEGORY_LAUNCHER);
context.startActivity(i);
return true;
} catch (PackageManager.NameNotFoundException e) {
return false;
}
}

我不确定这是否会帮助您在应用程序上打开特定的用户页面。

编辑 2:

这样试试:

        Uri uri = Uri.parse("http://instagram.com/_u/USERNAME");
Intent insta = new Intent(Intent.ACTION_VIEW, uri);

insta.setPackage("com.instagram.android");
startActivity(insta);

关于android - 为什么会为此 Intent 弹出 "complete action using"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32929702/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com