在Android中使用意图分享图像文件时,无法打开用于共享的文件?

3
我曾使用以下代码从drawable文件夹中分享图片,并打开“共享意图”与可用的分享方式列表,如蓝牙、Gmail、FB等。但是在使用蓝牙发送文件时,尝试从资产文件夹分享图片时出现错误“无法打开文件进行共享”,而尝试从“drawable文件夹”分享文件时出现错误“文件未发送”。请问有人能告诉我如何在Android上分享图像文件吗?以下是Manifest文件
 <manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.shareima"
    android:versionCode="1"
    android:versionName="1.0" >
<uses-sdk
        android:minSdkVersion="8"
        android:targetSdkVersion="17" />
 <uses-permission android:name="android.permission.INTERNET"/>
 <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
 <uses-permission android:name="android.permission.BLUETOOTH"/>
    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name="com.example.shareima.MainActivity"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>



    </application>

</manifest>

MainActivity.java

 public class MainActivity extends Activity {

        @Override
        protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
            Intent share = new Intent(Intent.ACTION_SEND);
            share.setType("image/png");
           Uri imageUri = Uri.parse("android.resource://com.example.shareima/drawable/ic_launcher");
            Log.i("imageUri",""+imageUri);
            share.putExtra(Intent.EXTRA_STREAM,imageUri);
            startActivity(Intent.createChooser(share,"Share Image"));
        }
    }

这个[链接][1]会对你有所帮助。 [1]:https://dev59.com/gGMl5IYBdhLWcg3wTlnY#18502670 - Riki
1个回答

0

使用此功能

Intent shareIntent = new Intent();
shareIntent.setAction(Intent.ACTION_SEND);
shareIntent.setType("image/png");
Uri uri = Uri.parse("android.resource://your package name/"+R.drawable.ic_launcher);
shareIntent.putExtra(Intent.EXTRA_STREAM, uri);
shareIntent.putExtra(Intent.EXTRA_TEXT, "Hello, This is test Sharing");
startActivity(Intent.createChooser(shareIntent, "Send your image"));

我已经应用了你的更改,但在接受请求后,收到了其他设备上蓝牙警报,发送设备显示“文件未发送”的错误。 - user3233280
当我通过Gmail发送电子邮件时,它成功发送,但是当我从电子邮件中下载图像时,它显示无效图像,这表明存在一些小问题。 - user3233280

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接