80,351
社区成员
发帖
与我相关
我的任务
分享
val install = Intent(Intent.ACTION_VIEW)
install.flags = Intent.FLAG_ACTIVITY_NEW_TASK
install.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION)
install.addFlags(Intent.FLAG_GRANT_WRITE_URI_PERMISSION)
install.addFlags(Intent.FLAG_GRANT_PERSISTABLE_URI_PERMISSION)
FileProvider.getUriForFile(context, "${context.packageName}.fileProvider", apkFile)
install.setDataAndType(uri, "application/vnd.android.package-archive")
context.applicationContext.startActivity(install)
ActivityManager: For security reasons, the system cannot issue a Uri permission grant to content://xxx.apk [user 0];
use startActivityAsCaller() instead
ActivityManager: Permission Denial: opening provider androidx.core.content.FileProvider from ProcessRecord
{8ebb8fb 2548:com.android.packageinstaller/u0a15} (pid=2548, uid=10015) that is not exported from UID 1000
InstallStaging: Error staging apk from content URI
java.lang.SecurityException: Permission Denial: opening provider androidx.core.content.FileProvider from
ProcessRecord{8ebb8fb 2548:com.android.packageinstaller/u0a15} (pid=2548, uid=10015) that is not
exported from UID 1000
at android.os.Parcel.createException(Parcel.java:1950)
at android.os.Parcel.readException(Parcel.java:1918)
at android.os.Parcel.readException(Parcel.java:1868)
at android.app.IActivityManager$Stub$Proxy.getContentProvider(IActivityManager.java:4185)
at android.app.ActivityThread.acquireProvider(ActivityThread.java:6019)
at android.app.ContextImpl$ApplicationContentResolver.acquireUnstableProvider(ContextImpl.java:2592)
at android.content.ContentResolver.acquireUnstableProvider(ContentResolver.java:1829)
at android.content.ContentResolver.openTypedAssetFileDescriptor(ContentResolver.java:1443)
at android.content.ContentResolver.openAssetFileDescriptor(ContentResolver.java:1296)
at android.content.ContentResolver.openInputStream(ContentResolver.java:1016)
at com.android.packageinstaller.InstallStaging$StagingAsyncTask.doInBackground(InstallStaging.java:167)
at com.android.packageinstaller.InstallStaging$StagingAsyncTask.doInBackground(InstallStaging.java:160)
at android.os.AsyncTask$2.call(AsyncTask.java:333)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:245)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
at java.lang.Thread.run(Thread.java:764)
Caused by: android.os.RemoteException: Remote stack trace:
at com.android.server.am.ActivityManagerService.getContentProviderImpl(ActivityManagerService.java:12292)
at com.android.server.am.ActivityManagerService.getContentProvider(ActivityManagerService.java:12699)
at android.app.IActivityManager$Stub.onTransact(IActivityManager.java:358)
at com.android.server.am.ActivityManagerService.onTransact(ActivityManagerService.java:3302)
at android.os.Binder.execTransact(Binder.java:731)