赞
踩
Android 10 华为P30 pro手机
从服务器下载apk安装包的时候报错open failed: EACCES (Permission denied)
注意这句话: android:requestLegacyExternalStorage="true"
<application
android:name=".MyApplication"
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:networkSecurityConfig="@xml/network_security_config"
android:requestLegacyExternalStorage="true"
android:supportsRtl="true"
android:theme="@style/AppTheme">
此时可以正常下载文件之后,即可安装:
<!--安装下载好的安装包-->
<uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES" />
// 获取文件下载路径 val apkFile = File(filePath) val intent = Intent(Intent.ACTION_VIEW) intent.flags = Intent.FLAG_ACTIVITY_NEW_TASK if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) { intent.flags = Intent.FLAG_GRANT_READ_URI_PERMISSION val contentUri: Uri = FileProvider.getUriForFile( this@MainActivity, "com.ly.checkticket4hengqin", apkFile ) intent.setDataAndType(contentUri, "application/vnd.android.package-archive") } else { intent.setDataAndType( Uri.fromFile(apkFile), "application/vnd.android.package-archive" ) } startActivity(intent)
最后manifest.xml里面也要对应起来:
<provider
android:name="androidx.core.content.FileProvider"
android:authorities="com.ly.checkticket4hengqin"
android:exported="false"
android:grantUriPermissions="true">
<meta-data
android:name="android.support.FILE_PROVIDER_PATHS"
android:resource="@xml/provider_paths" />
</provider>
打完收工。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。