使用意图的 Android 6.0 instagram 图像共享不起作用

Posted

技术标签:

【中文标题】使用意图的 Android 6.0 instagram 图像共享不起作用【英文标题】:Android 6.0 instagram image sharing using intent not working 【发布时间】:2015-11-15 15:12:15 【问题描述】:

我的这段代码在其他版本的 android 上运行良好,但在 android 6.0 上似乎表现不佳。

没有错误,但图片没有发布。

public void onClick(View v) 

        Intent intent = getPackageManager().getLaunchIntentForPackage("com.instagram.android");
        if (intent != null)
        
            Intent shareIntent = new Intent();
            shareIntent.setAction(Intent.ACTION_SEND);
            shareIntent.setPackage("com.instagram.android");
            try 
                shareIntent.putExtra(Intent.EXTRA_STREAM, Uri.parse(MediaStore.Images.Media.insertImage(getContentResolver(), imagePath, "I am Happy", "Share happy !")));
             catch (FileNotFoundException e) 
                // TODO Auto-generated catch block
                e.printStackTrace();
            
            shareIntent.setType("image/jpeg");

            startActivity(shareIntent);
        
        else
        
            // bring user to the market to download the app.
            // or let them choose an app?
            intent = new Intent(Intent.ACTION_VIEW);
            intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
            intent.setData(Uri.parse("market://details?id="+"com.instagram.android"));
            startActivity(intent);
        

    

【问题讨论】:

我有同样的错误。 Instagram 拥有所有权限,但无法共享。你找到解决办法了吗? 【参考方案1】:

正如 Amir 建议的那样,您需要为每个应用授予每个功能的权限。步骤:Android 设置 -> 应用程序 -> 选择应用程序 -> 权限 -> 允许您要共享的所有权限。

【讨论】:

【参考方案2】:

这是因为 Instagram 权限。您必须允许存储在: Android 设置 -> 应用程序 -> Instagram -> 权限

【讨论】:

【参考方案3】:

可能是因为android权限。他们在 android 6 中有一些变化。检查this link 了解。转到设备设置>应用并选择您的应用,然后手动接受权限并检查您的问题是否已解决。

【讨论】:

好的,这听起来很有趣,但现在通过 android 应用程序向 instagram 发布的意图停止工作。我早上试了一下,一切正常,图像被发布,但现在似乎没有这样做,虽然没有错误。我已授予 Instagram 应用程序的所有权限。并使用 api:22 检查你是否撤销了权限 我做了,检查甚至重新安装.. 似乎没有工作

以上是关于使用意图的 Android 6.0 instagram 图像共享不起作用的主要内容,如果未能解决你的问题,请参考以下文章

android - 是不是可以使用私有意图而不是全局意图?

Android Intent意图 : 基本使用

Android:如何使用相同的相机意图捕获多张照片

Android 6.0 使用 Apache HttpClient

Android权限管理PermissionsDispatcher2.3.2使用+原生6.0权限使用

Android权限管理PermissionsDispatcher2.3.2使用+原生6.0权限使用