gpt4 book ai didi

android - 创建新文件时权限被拒绝错误安卓系统

转载 作者:行者123 更新时间:2023-12-02 13:39:08 25 4
gpt4 key购买 nike

我正在尝试创建一个图像文件到外部存储以共享它。但是在尝试遵循代码时,我遇到了一些错误

        var icon: Bitmap = BitmapFactory.decodeResource(resources, R.drawable.namelogo)

val shareIntent = Intent(Intent.ACTION_SEND)
shareIntent.type = "image/*"
val bytes = ByteArrayOutputStream()
icon.compress(Bitmap.CompressFormat.JPEG, 100, bytes)
val path = File.separator + "temporary_file.jpg"

val f = File(Environment.getExternalStorageDirectory().toString(), path)
try {


if (!f.parentFile.exists())
f.parentFile.mkdirs()
if (!f.exists())
f.createNewFile()
f.createNewFile()
val fo = FileOutputStream(f)

fo.write(bytes.toByteArray())
} catch (e: IOException) {
Log.e("path = ", "+ $path " + e.toString())
e.printStackTrace()
}

shareIntent.putExtra(Intent.EXTRA_STREAM, Uri.parse("file:///sdcard/IronyBalls/temporary_file.jpg"));
startActivity(Intent.createChooser(shareIntent, "Share Image"))

到现在为止,我发现只能使用的解决方案
if (!f.parentFile.exists())
f.parentFile.mkdirs()
if (!f.exists())
f.createNewFile()



设置权限
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

我已经用过了,但是仍然出现如下的gettig错误
错误选项卡

E/path =: + /temporary_file.jpg java.io.IOException: Permission denied



并在 信息标签

W/System.err: java.io.IOException: Permission denied

W/System.err: at java.io.UnixFileSystem.createFileExclusively0(Native Method)

W/System.err: at java.io.UnixFileSystem.createFileExclusively(UnixFileSystem.java:280)

W/System.err: at java.io.File.createNewFile(File.java:948) W/System.err: at com.irony.balls.MainActivity$onCreate$8.onClick(MainActivity.kt:277)

W/System.err: at android.view.View.performClick(View.java:5611)

10-15 20:33:17.912 29759-29759/com.irony.balls W/System.err: at android.view.View$PerformClick.run(View.java:22276) 10-15 20:33:17.912 29759-29759/com.irony.balls W/System.err: at android.os.Handler.handleCallback(Handler.java:751) 10-15 20:33:17.912 29759-29759/com.irony.balls W/System.err: at android.os.Handler.dispatchMessage(Handler.java:95) 10-15 20:33:17.912 29759-29759/com.irony.balls W/System.err: at android.os.Looper.loop(Looper.java:154) 10-15 20:33:17.912 29759-29759/com.irony.balls W/System.err: at android.app.ActivityThread.main(ActivityThread.java:6195) 10-15 20:33:17.912 29759-29759/com.irony.balls W/System.err: at java.lang.reflect.Method.invoke(Native Method) 10-15 20:33:17.912 29759-29759/com.irony.balls W/System.err: at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:874)

10-15 20:33:17.912 29759-29759/com.irony.balls W/System.err: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:764)

最佳答案

如果您的设备在Android 6或更高版本上运行,您是否已请求运行时权限?

有关更多详细信息,请参见https://developer.android.com/training/permissions/requesting.html

关于android - 创建新文件时权限被拒绝错误安卓系统,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46756588/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com