【问题标题】:Instagram application does not open with Android IntentInstagram 应用程序无法使用 Android Intent 打开
【发布时间】:2020-07-15 11:41:04
【问题描述】:

这是我的代码,问题是我不想发送图像,我只想打开 IG 应用程序。是的,该应用程序已安装,但仍未启动。

直到上周,这一切都很好。请帮忙。

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

            if (isIntentAvailable(insta)) {
                this.startActivityForResult(insta, REQUEST_CODE_MY_PICK);
            } else {
            }

private boolean isIntentAvailable(Intent intent) {
        final PackageManager packageManager = getPackageManager();
        List<ResolveInfo> list = packageManager.queryIntentActivities(intent, PackageManager.MATCH_DEFAULT_ONLY);
        return list.size() > 0;
    }

【问题讨论】:

  • 如果清单中没有 &lt;queries&gt; 元素,您的代码将无法在 Android 11 上运行。 ACTION_VIEW 不返回结果,所以startActivityForResult() 不是一个好的选择。 Instagram 不需要支持不安全的http 方案。而且,您可能应该记录一条消息和/或让用户知道您的 else 中发生了什么。
  • 感谢@CommonsWare 的反馈.. 是的,我正在向其他用户提供反馈.. 我尝试了所有这些.. 仍然没有区别

标签: java android android-studio android-intent instagram


【解决方案1】:

试试这个

Uri appUri = Uri.parse("https://instagram.com/_u/user_name");
Uri browserUri = Uri.parse("https://instagram.com/user_name");

try{ //first try to open in instagram app
  Intent appIntent = getPackageManager().getLaunchIntentForPackage("com.instagram.android");
  if(appIntent != null){
     appIntent.setAction(Intent.ACTION_VIEW)
     appIntent.setData(appUri);
     startActivity(appIntent);
  }
}catch(Exception e){ //or else open in browser
   Intent browserIntent = new Intent(Intent.ACTION_VIEW, browserUri);
   startActivity(browserIntent);
}

【讨论】:

    【解决方案2】:

    尝试将Uri.parse("http://instagram.com/") 替换为Uri.parse("https://instagram.com/")。还可以尝试删除 isIntentAvailable 并在没有 'forResult' 的情况下调用 startActivity(insta),最后删除 insta.setPackage 行。

    【讨论】:

    • 它在网络浏览器上打开 IG .. 我想要打开应用程序
    • 检查 IG 应用的“默认打开”设置(在安卓应用设置中)。 “打开支持的链接”必须设置为“在此应用中打开”。还可以尝试将 Uri 转换为 https://www.instagram.com - 注意 www。
    猜你喜欢
    • 2019-01-29
    • 2015-06-11
    • 1970-01-01
    • 1970-01-01
    • 2021-08-29
    • 2016-11-20
    • 2018-09-11
    • 1970-01-01
    相关资源
    最近更新 更多