@Override
public void onClick(View v) {
switch (v.getId()){
case R.id.buttonShare:
Intent intent = new Intent("android.intent.action.SEND");
String path=getApplication().getFilesDir().getAbsolutePath();
String name= "buid_img/share.png";
if(getImageFromAssetsFile(this,"share.png",path) ) {
intent.setType("image/*");
intent.putExtra("sms_body", "nihao");
intent.putExtra("android.intent.extra.TEXT", "你好");
//toast_test(Uri.fromFile(new File(getFilesDir(), "buid_img/share.png")).toString());
intent.putExtra("android.intent.extra.STREAM",Uri.fromFile(new File(getApplication().getFilesDir().getAbsoluteFile(), "share.png")));
//toast_test (Uri.parse(url_path).toString());
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent.createChooser(intent, getResources().getString(R.string.shareString)));
}
break;
}
}
public boolean getImageFromAssetsFile(Context context,String filleName,String path) {
String packageName=context.getPackageName();
File file=new File(path);
boolean isExist=file.exists();
Bitmap image=null;
if (!isExist){
file.mkdir();
}
AssetManager am=context.getAssets();
try {
InputStream is=am.open("buid_img/"+filleName);
image=BitmapFactory.decodeStream(is);
FileOutputStream out=new FileOutputStream(path+"/"+filleName);
image.compress( Bitmap.CompressFormat.PNG,100,out);
out.flush();
out.close();
is.close();
}catch (IOException e){}
return true;
}
主要的问题是怎么把 assets下的图片分享出去 用android的原生分享,一直加载图片资源失败,把图片放在本地别的地方也行。