Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

多次点拒绝,崩溃java.lang.IllegalStateException: You need to use a Theme.AppCompat theme (or descendant) with this activity. #635

Open
flygexio opened this issue Aug 15, 2020 · 3 comments

Comments

@flygexio
Copy link

java.lang.RuntimeException: Failure delivering result ResultInfo{who=@android:requestPermissions:, request=1, result=-1, data=Intent { act=android.content.pm.action.REQUEST_PERMISSIONS (has extras) }} to activity {com.yzy/com.yanzhenjie.permission.PermissionActivity}: java.lang.IllegalStateException: You need to use a Theme.AppCompat theme (or descendant) with this activity.
at android.app.ActivityThread.deliverResults(ActivityThread.java:5589)
at android.app.ActivityThread.handleSendResult(ActivityThread.java:5630)
at android.app.servertransaction.ActivityResultItem.execute(ActivityResultItem.java:51)
at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:149)
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:103)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2473)
at android.os.Handler.dispatchMessage(Handler.java:110)
at android.os.Looper.loop(Looper.java:219)
at android.app.ActivityThread.main(ActivityThread.java:8349)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:513)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1055)
Caused by: java.lang.IllegalStateException: You need to use a Theme.AppCompat theme (or descendant) with this activity.
at androidx.appcompat.app.AppCompatDelegateImpl.createSubDecor(AppCompatDelegateImpl.java:696)
at androidx.appcompat.app.AppCompatDelegateImpl.ensureSubDecor(AppCompatDelegateImpl.java:659)
at androidx.appcompat.app.AppCompatDelegateImpl.setContentView(AppCompatDelegateImpl.java:552)
at androidx.appcompat.app.AppCompatDialog.setContentView(AppCompatDialog.java:95)
at androidx.appcompat.app.AlertController.installContent(AlertController.java:232)
at androidx.appcompat.app.AlertDialog.onCreate(AlertDialog.java:279)
at android.app.Dialog.dispatchOnCreate(Dialog.java:635)
at android.app.Dialog.show(Dialog.java:420)
at androidx.appcompat.app.AlertDialog$Builder.show(AlertDialog.java:1009)
at com.yzy.permission.setting.PermissionSetting.showSetting(PermissionSetting.java:55)
at com.yzy.permission.impl.DefaultPermissionImpl$1.onAction(DefaultPermissionImpl.java:96)
at com.yanzhenjie.permission.MRequest.callbackFailed(MRequest.java:154)
at com.yanzhenjie.permission.MRequest.onRequestPermissionsResult(MRequest.java:129)
at com.yanzhenjie.permission.PermissionActivity.onRequestPermissionsResult(PermissionActivity.java:75)
at android.app.Activity.dispatchRequestPermissionsResult(Activity.java:8566)
at android.app.Activity.dispatchActivityResult(Activity.java:8416)
at android.app.ActivityThread.deliverResults(ActivityThread.java:5582)
... 11 more
java.lang.IllegalStateException: You need to use a Theme.AppCompat theme (or descendant) with this activity.
at androidx.appcompat.app.AppCompatDelegateImpl.createSubDecor(AppCompatDelegateImpl.java:696)
at androidx.appcompat.app.AppCompatDelegateImpl.ensureSubDecor(AppCompatDelegateImpl.java:659)
at androidx.appcompat.app.AppCompatDelegateImpl.setContentView(AppCompatDelegateImpl.java:552)
at androidx.appcompat.app.AppCompatDialog.setContentView(AppCompatDialog.java:95)
at androidx.appcompat.app.AlertController.installContent(AlertController.java:232)
at androidx.appcompat.app.AlertDialog.onCreate(AlertDialog.java:279)
at android.app.Dialog.dispatchOnCreate(Dialog.java:635)
at android.app.Dialog.show(Dialog.java:420)
at androidx.appcompat.app.AlertDialog$Builder.show(AlertDialog.java:1009)
at com.yzy.permission.setting.PermissionSetting.showSetting(PermissionSetting.java:55)
at com.yzy.permission.impl.DefaultPermissionImpl$1.onAction(DefaultPermissionImpl.java:96)
at com.yanzhenjie.permission.MRequest.callbackFailed(MRequest.java:154)
at com.yanzhenjie.permission.MRequest.onRequestPermissionsResult(MRequest.java:129)
at com.yanzhenjie.permission.PermissionActivity.onRequestPermissionsResult(PermissionActivity.java:75)
at android.app.Activity.dispatchRequestPermissionsResult(Activity.java:8566)
at android.app.Activity.dispatchActivityResult(Activity.java:8416)
at android.app.ActivityThread.deliverResults(ActivityThread.java:5582)
at android.app.ActivityThread.handleSendResult(ActivityThread.java:5630)
at android.app.servertransaction.ActivityResultItem.execute(ActivityResultItem.java:51)
at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:149)
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:103)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2473)
at android.os.Handler.dispatchMessage(Handler.java:110)
at android.os.Looper.loop(Looper.java:219)
at android.app.ActivityThread.main(ActivityThread.java:8349)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:513)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1055)

@shiqos
Copy link

shiqos commented Feb 8, 2021

Hi @flygexio

我这边也遇到了同样的问题
在Andorid7.0上
请问你是怎么解决的么

@khanh-bh
Copy link

This can be fixed by passing an AppCompat activity to AndPermission.with().

@khanhbui
Copy link

This is because WaitDialog inherits AppCompatDialog which requires to use a Theme.AppCompat theme. So I changed the base class to Dialog.
Please see #679

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants