
以下是我的代码,
btshare.setonClickListener(new OnClickListener() { @OverrIDe public voID onClick(VIEw v) { VIEw content = findVIEwByID(R.ID.full_image_vIEw); content.setDrawingCacheEnabled(true); Bitmap bitmap = content.getDrawingCache(); file root = Environment.getExternalStorageDirectory(); file cachePath = new file(root.getabsolutePath() + "/DCIM/Camera/image.jpg"); try { root.createNewfile(); fileOutputStream ostream = new fileOutputStream(root); bitmap.compress(CompressFormat.JPEG,100,ostream); ostream.close(); } catch (Exception e) { e.printstacktrace(); } Intent shareIntent = new Intent(Intent.ACTION_SEND); Uri phototUri = Uri.parse("/DCIM/Camera/image.jpg"); shareIntent.setData(phototUri); shareIntent.setType("image/*"); shareIntent.putExtra(Intent.EXTRA_STREAM,phototUri); startActivity(Intent.createChooser(shareIntent,"Share Via")); } }); 当我按下按钮我得到这些错误?
01-13 06:00:19.282: W/System.err(6199): java.io.fileNotFoundException: /storage/emulated/0: open Failed: EISDIR (Is a directory)01-13 06:00:19.286: W/System.err(6199): at libcore.io.IoBrIDge.open(IoBrIDge.java:409)01-13 06:00:19.286: W/System.err(6199): at java.io.fileOutputStream.<init>(fileOutputStream.java:88)01-13 06:00:19.294: W/System.err(6199): at java.io.fileOutputStream.<init>(fileOutputStream.java:73)01-13 06:00:19.294: W/System.err(6199): at com.safshari.mandegar.FullimageActivity.onClick(FullimageActivity.java:116)01-13 06:00:19.294: W/System.err(6199): at androID.vIEw.VIEw.performClick(VIEw.java:4240)01-13 06:00:19.294: W/System.err(6199): at androID.vIEw.VIEw$PerformClick.run(VIEw.java:17721)01-13 06:00:19.298: W/System.err(6199): at androID.os.Handler.handleCallback(Handler.java:730)01-13 06:00:19.298: W/System.err(6199): at androID.os.Handler.dispatchMessage(Handler.java:92)01-13 06:00:19.298: W/System.err(6199): at androID.os.Looper.loop(Looper.java:137)01-13 06:00:19.302: W/System.err(6199): at androID.app.ActivityThread.main(ActivityThread.java:5103)01-13 06:00:19.302: W/System.err(6199): at java.lang.reflect.Method.invokeNative(Native Method)01-13 06:00:19.302: W/System.err(6199): at java.lang.reflect.Method.invoke(Method.java:525)01-13 06:00:19.302: W/System.err(6199): at com.androID.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:737)01-13 06:00:19.306: W/System.err(6199): at com.androID.internal.os.ZygoteInit.main(ZygoteInit.java:553)01-13 06:00:19.306: W/System.err(6199): at dalvik.system.NativeStart.main(Native Method)01-13 06:00:19.310: W/System.err(6199): Caused by: libcore.io.ErrnoException: open Failed: EISDIR (Is a directory)01-13 06:00:19.310: W/System.err(6199): at libcore.io.Posix.open(Native Method)01-13 06:00:19.310: W/System.err(6199): at libcore.io.BlockGuardOs.open(BlockGuardOs.java:110)01-13 06:00:19.310: W/System.err(6199): at libcore.io.IoBrIDge.open(IoBrIDge.java:393)01-13 06:00:19.314: W/System.err(6199): ... 14 more01-13 06:00:19.618: E/Genymotion(489): Could not open '/sys/class/power_supply/genymotion_fake_path/present'
我应该怎么做以及我的程序需要什么权限?我已经声明了以下权限,
<uses-permission androID:name="androID.permission.SET_WALLPAPER"/><uses-permission androID:name="androID.permission.WRITE_EXTERNAL_STORAGE"/>@H_403_4@解决方法 尝试以下代码来分享您的图片:
Intent share = new Intent(Intent.ACTION_SEND); share.setType("image/*"); share.putExtra(Intent.EXTRA_STREAM,Uri.fromfile(new file(root.getabsolutePath() + "/DCIM/Camera/image.jpg")); startActivity(Intent.createChooser(share,"Share via")); 将这些权限添加到AndroIDMenifest.xml
<uses-permission androID:name="androID.permission.WRITE_EXTERNAL_STORAGE" /><uses-permission androID:name="androID.permission.INTERNET" /><uses-permission androID:name="androID.permission.READ_EXTERNAL_STORAGE" />@H_403_4@ @H_403_4@ @H_403_4@ @H_403_4@ 总结
以上是内存溢出为你收集整理的android – 如何分享imageview的图像?全部内容,希望文章能够帮你解决android – 如何分享imageview的图像?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)