简体   繁体   中英

Permission Denial : Starting Intent ( lock task mode / kiosk mode )

Any one have a suggestion how to solve this error ? I am trying to run lock task with intent getLaunchIntentForPackage but I have no idea why this error is coming and which type of permission it wants to run this task.

java.lang.SecurityException: Permission Denial: starting Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10000000 pkg=com.example.videoplayer cmp=com.example.videoplayer/.MainActivity } from ProcessRecord{fd194a9 7523:com.example.lock/u0a190} (pid=7523, uid=10190) with lockTaskMode=true
    at android.os.Parcel.createExceptionOrNull(Parcel.java:2425)
    at android.os.Parcel.createException(Parcel.java:2409)
    at android.os.Parcel.readException(Parcel.java:2392)
    at android.os.Parcel.readException(Parcel.java:2334)
    at android.app.IActivityTaskManager$Stub$Proxy.startActivity(IActivityTaskManager.java:2326)
    at android.app.Instrumentation.execStartActivity(Instrumentation.java:1758)
    at android.app.Activity.startActivityForResult(Activity.java:5407)
    at androidx.activity.ComponentActivity.startActivityForResult(ComponentActivity.java:597)
    at android.app.Activity.startActivity(Activity.java:5747)
    at com.example.lock.MainActivity.launchApp(MainActivity.kt:110)
    at com.example.lock.MainActivity.onCreate$lambda-0(MainActivity.kt:62)
    at com.example.lock.MainActivity.$r8$lambda$yGvyKllS4GN5cYzDCcbSf8EdXb0(Unknown Source:0)
    at com.example.lock.MainActivity$$ExternalSyntheticLambda0.onClick(Unknown Source:2)
    at android.view.View.performClick(View.java:7455)
    at com.google.android.material.button.MaterialButton.performClick(MaterialButton.java:1194)
    at android.view.View.performClickInternal(View.java:7432)
    at android.view.View.access$3700(View.java:835)
    at android.view.View$PerformClick.run(View.java:28810)
    at android.os.Handler.handleCallback(Handler.java:938)
    at android.os.Handler.dispatchMessage(Handler.java:99)
    at android.os.Looper.loopOnce(Looper.java:201)
    at android.os.Looper.loop(Looper.java:288)
    at android.app.ActivityThread.main(ActivityThread.java:7842)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1003)
 Caused by: android.os.RemoteException: Remote stack trace:
    at com.android.server.wm.SafeActivityOptions.checkPermissions(SafeActivityOptions.java:283)
    at com.android.server.wm.SafeActivityOptions.getOptions(SafeActivityOptions.java:155)
    at com.android.server.wm.ActivityStarter.executeRequest(ActivityStarter.java:1006)
    at com.android.server.wm.ActivityStarter.execute(ActivityStarter.java:670)
    at com.android.server.wm.ActivityTaskManagerService.startActivityAsUser(ActivityTaskManagerService.java:1223)

I'm currently running into the same error. The only thing I can hand to you is that it can be solved by using the DevicePolicyManager.setLockTaskPackages as stated on the android site: https://developer.android.com/work/dpc/dedicated-devices/lock-task-mode#allowlist_apps

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM