Java 从应用程序文件夹共享图像
我想从Java 从应用程序文件夹共享图像,java,android,Java,Android,我想从按钮的上单击共享图像 Javacode public void share(View v) { Intent share = new Intent(Intent.ACTION_SEND); share.setType("image/*"); Uri a=Uri.parse("android.resource://"+getPackageName()+"/"+R.drawable.pic); Log.i("imageUri",""+imageUri);
按钮的上单击共享图像
Java
code
public void share(View v)
{
Intent share = new Intent(Intent.ACTION_SEND);
share.setType("image/*");
Uri a=Uri.parse("android.resource://"+getPackageName()+"/"+R.drawable.pic);
Log.i("imageUri",""+imageUri);
share.putExtra(Intent.EXTRA_STREAM,a);
startActivity(Intent.createChooser(share,"Share Image"));
}
由于此代码不起作用,我应该做哪些更改?使用此代码共享图像:
注意:您必须在Menifest
文件中添加WRITE/READ EXTERNAL STORAGE
权限才能执行此操作:
Bitmap mBitmap = BitmapFactory.decodeResource(getResources(), R.drawable.pic);
String path = MediaStore.Images.Media.insertImage(getContentResolver(),
mBitmap, "Image Description", null);
Uri uri = Uri.parse(path);
Intent intent = new Intent(Intent.ACTION_SEND);
Log.d("imageUri", "imageUriIs" + uri);
intent.putExtra(Intent.EXTRA_STREAM, uri);
intent.putExtra(Intent.EXTRA_SUBJECT, "");
intent.putExtra(Intent.EXTRA_TEXT, shareMSG);
intent.putExtra(Intent.EXTRA_TITLE, "TITLE");
intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
intent.setType("image/*");
startActivity(Intent.createChooser(intent, "APPNAME"));
试试这个
首先您需要添加权限写入外部存储
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
谢谢你的补充,先生@NileshRathod。我正在向你学习,伟大的开发者。。坚持下去
Bitmap b =BitmapFactory.decodeResource(getResources(),R.drawable.pic);
Intent share = new Intent(Intent.ACTION_SEND);
share.setType("image/jpeg");
ByteArrayOutputStream bytes = new ByteArrayOutputStream();
b.compress(Bitmap.CompressFormat.JPEG, 100, bytes);
String path = MediaStore.Images.Media.insertImage(getContentResolver(),
b, "Title", null);
Uri a= Uri.parse(path);
share.putExtra(Intent.EXTRA_STREAM, a);
startActivity(Intent.createChooser(share, "Select"));