permissions-dispatcher / PermissionsDispatcher

A declarative API to handle Android runtime permissions.
https://github.com/permissions-dispatcher/PermissionsDispatcher
Apache License 2.0
11.22k stars 1.44k forks source link

sample app crashes when returning from setting #356

Closed liangruiyuwanba closed 6 years ago

liangruiyuwanba commented 7 years ago

when current activity jump to system setting page to set some permissions ,user select close one permission and then switch current activity again,the app crashed,but if user don't operation or select open one permission,this case will not happen

hotchemi commented 7 years ago

@liangruiyuwanba could you give us exact crash log?

liangruiyuwanba commented 7 years ago

no crash log,only the activity crash and then restart,you can test it byself,i guess because the annotations

liangruiyuwanba commented 7 years ago

detail log: 08-28 18:52:43.536 22079-22079/? E/SchedPolicy: open of dev/cpuctl/limit_fg/tasks failed: No such file or directory 08-28 18:52:43.536 22079-22079/? E/SchedPolicy: open of dev/cpuctl/bg_non_interactive/limit_bg/tasks failed: No such file or directory 08-28 18:52:43.539 22079-22079/? I/art: Late-enabling -Xcheck:jni 08-28 18:52:43.566 22079-22079/? D/ActivityThread: ActivityThread,attachApplication 08-28 18:52:43.747 22079-22079/permissions.dispatcher.sample W/System: ClassLoader referenced unknown path: /data/app/permissions.dispatcher.sample-2/lib/arm 08-28 18:52:43.767 22079-22079/permissions.dispatcher.sample I/InstantRun: starting instant run server: is main process 08-28 18:52:43.807 22079-22079/permissions.dispatcher.sample I/HwCust: Constructor found for class android.app.HwCustActivityImpl 08-28 18:52:43.807 22079-22079/permissions.dispatcher.sample D/HwCust: Create obj success use class android.app.HwCustActivityImpl 08-28 18:52:43.833 22079-22079/permissions.dispatcher.sample V/HwPolicyFactory: : success to get AllImpl object and return.... 08-28 18:52:43.840 22079-22079/permissions.dispatcher.sample V/HwWidgetFactory: : successes to get AllImpl object and return.... 08-28 18:52:43.842 22079-22079/permissions.dispatcher.sample V/ActivityThread: ActivityThread,callActivityOnCreate 08-28 18:52:43.865 22079-22079/permissions.dispatcher.sample W/art: Before Android 4.1, method android.graphics.PorterDuffColorFilter android.support.graphics.drawable.VectorDrawableCompat.updateTintFilter(android.graphics.PorterDuffColorFilter, android.content.res.ColorStateList, android.graphics.PorterDuff$Mode) would have incorrectly overridden the package-private method in android.graphics.drawable.Drawable 08-28 18:52:43.912 22079-22079/permissions.dispatcher.sample D/CubicBezierInterpolator: CubicBezierInterpolator mControlPoint1x = 0.23, mControlPoint1y = 0.06, mControlPoint2x = 0.09, mControlPoint2y = 0.97 08-28 18:52:43.913 22079-22079/permissions.dispatcher.sample D/CubicBezierInterpolator: CubicBezierInterpolator mControlPoint1x = 0.6, mControlPoint1y = 0.9, mControlPoint2x = 0.8, mControlPoint2y = 1.0 08-28 18:52:43.913 22079-22079/permissions.dispatcher.sample V/BoostFramework: /system/framework/QPerformance.jar be checked ! 08-28 18:52:43.916 22079-22079/permissions.dispatcher.sample V/BoostFramework: mAcquireFunc method = public int com.qualcomm.qti.Performance.perfLockAcquire(int,int[]) 08-28 18:52:43.916 22079-22079/permissions.dispatcher.sample V/BoostFramework: mReleaseFunc method = public int com.qualcomm.qti.Performance.perfLockRelease() 08-28 18:52:43.916 22079-22079/permissions.dispatcher.sample V/BoostFramework: mAcquireTouchFunc method = public int com.qualcomm.qti.Performance.perfLockAcquireTouch(android.view.MotionEvent,android.util.DisplayMetrics,int,int[]) 08-28 18:52:43.916 22079-22079/permissions.dispatcher.sample V/BoostFramework: mIOPStart method = public int com.qualcomm.qti.Performance.perfIOPrefetchStart(int,java.lang.String) 08-28 18:52:43.916 22079-22079/permissions.dispatcher.sample V/BoostFramework: mIOPStop method = public int com.qualcomm.qti.Performance.perfIOPrefetchStop() 08-28 18:52:43.919 22079-22079/permissions.dispatcher.sample V/BoostFramework: BoostFramework() : mPerf = com.qualcomm.qti.Performance@513ace4 08-28 18:52:43.920 22079-22079/permissions.dispatcher.sample D/CubicBezierInterpolator: CubicBezierInterpolator mControlPoint1x = 0.23, mControlPoint1y = 0.06, mControlPoint2x = 0.09, mControlPoint2y = 0.97 08-28 18:52:43.920 22079-22079/permissions.dispatcher.sample D/CubicBezierInterpolator: CubicBezierInterpolator mControlPoint1x = 0.6, mControlPoint1y = 0.9, mControlPoint2x = 0.8, mControlPoint2y = 1.0 08-28 18:52:43.920 22079-22079/permissions.dispatcher.sample V/BoostFramework: BoostFramework() : mPerf = com.qualcomm.qti.Performance@466454d 08-28 18:52:43.975 22079-22079/permissions.dispatcher.sample D/HwGalleryCacheManagerImpl: mIsEffect:false 08-28 18:52:43.986 22079-22079/permissions.dispatcher.sample D/HwRTBlurUtils: check blur style for HwPhoneWindow-, themeResId : 0x7f0800a3, context : permissions.dispatcher.sample.MainActivity@ae0b59e, Nhwext : 0, get Blur : disable with , null 08-28 18:52:43.986 22079-22079/permissions.dispatcher.sample D/HwRTBlurUtils: check blur style for HwPhoneWindow-, themeResId : 0x7f0800a3, context : permissions.dispatcher.sample.MainActivity@ae0b59e, Nhwext : 0, get Blur : disable with , null 08-28 18:52:44.007 22079-22079/permissions.dispatcher.sample D/ActivityThread: add activity client record, r= ActivityRecord{82ae8ba token=android.os.BinderProxy@5088220 {permissions.dispatcher.sample/permissions.dispatcher.sample.MainActivity}} token= android.os.BinderProxy@5088220 08-28 18:52:44.010 22079-22079/permissions.dispatcher.sample D/TEST: onresume==== 08-28 18:52:44.027 22079-22079/permissions.dispatcher.sample I/HwPointEventFilter: do not support AFT because of no config 08-28 18:52:44.039 22079-22079/permissions.dispatcher.sample I/ActivityManager_activity: Resuming ActivityRecord{82ae8ba token=android.os.BinderProxy@5088220 {permissions.dispatcher.sample/permissions.dispatcher.sample.MainActivity}} with isForward=true,forwardBitChanged=false onlyLocalRequest=false 08-28 18:52:44.089 22079-22119/permissions.dispatcher.sample I/Adreno: QUALCOMM build : 28fbe1e, I1c3536cac6 Build Date : 12/27/16 OpenGL ES Shader Compiler Version: XE031.09.00.04 Local Branch : Remote Branch : Remote Branch : Reconstruct Branch : 08-28 18:52:44.094 22079-22119/permissions.dispatcher.sample I/OpenGLRenderer: Initialized EGL, version 1.4 08-28 18:52:44.094 22079-22119/permissions.dispatcher.sample D/OpenGLRenderer: Swap behavior 1 08-28 18:52:44.124 22079-22079/permissions.dispatcher.sample W/art: Before Android 4.1, method int android.support.v7.widget.ListViewCompat.lookForSelectablePosition(int, boolean) would have incorrectly overridden the package-private method in android.widget.ListView 08-28 18:52:44.187 22079-22079/permissions.dispatcher.sample I/ActivityManager_activity: Reporting idle of ActivityRecord{82ae8ba token=android.os.BinderProxy@5088220 {permissions.dispatcher.sample/permissions.dispatcher.sample.MainActivity}} finished=false

liangruiyuwanba commented 7 years ago

https://github.com/permissions-dispatcher/PermissionsDispatcher/issues/302 . like the same question

hotchemi commented 7 years ago

@liangruiyuwanba oh are you pointing out our sample app?

liangruiyuwanba commented 7 years ago

yes,your sample app have the same problem

liangruiyuwanba commented 7 years ago

MainActivity->android system task key->app info page ->close one permission -> android system task key ->MainActivity ,then mainactivity crash and restart,execute oncreate and onresume method

hotchemi commented 7 years ago

thank you. are you interested in trying to fix?

liangruiyuwanba commented 7 years ago

of course ,i want you give me some suggestions

hotchemi commented 7 years ago

@liangruiyuwanba actually I haven't investigated...please give it a go if you wanna do that!

liangruiyuwanba commented 7 years ago

May be the cause of the android system

yanchengdeng commented 7 years ago

I have this iussa too especially on android 7.0 above! Has fix it ?

isabsent commented 7 years ago

If you change dangerous permission and go back to app, it seems Android kills app process: link 1, link 2, link 3.

hotchemi commented 6 years ago

Since no one has interest for this issue for now and seems the cause is on Android system side so let me close the issue