博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
关于Android 8.0java.lang.SecurityException: Permission Denial错误的解决方法
阅读量:6239 次
发布时间:2019-06-22

本文共 4830 字,大约阅读时间需要 16 分钟。

背景

当我在Android 7.0及以下手机运行启动页,进行Activity跳转的时候,完美跳转到对应的目标Activity。 但当在Android 8.0及以上手机进行Activity跳转时,会爆如下错误:

java.lang.SecurityException: Permission Denial: null asks to run as user 450 but is calling from user 0; this requires android.permission.INTERACT_ACROSS_USERS_FULL or android.permission.INTERACT_ACROSS_USERS                                                             at android.os.Parcel.readException(Parcel.java:1942)                                                             at android.os.Parcel.readException(Parcel.java:1888)                                                             at android.view.autofill.IAutoFillManager$Stub$Proxy.addClient(IAutoFillManager.java:326)                                                             at android.view.autofill.AutofillManager.ensureServiceClientAddedIfNeededLocked(AutofillManager.java:896)                                                             at android.view.autofill.AutofillManager.notifyViewExited(AutofillManager.java:487)                                                             at android.view.View.notifyEnterOrExitForAutoFillIfNeeded(View.java:6945)                                                             at android.view.View.dispatchAttachedToWindow(View.java:17413)                                                             at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:3326)                                                             at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:3326)                                                             at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:3326)                                                             at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:3326)                                                             at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:3326)                                                             at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:3326)                                                             at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:3326)                                                             at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:3326)                                                             at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:3326)                                                             at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:3326)                                                             at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:3326)                                                             at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:3326)                                                             at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:3326)                                                             at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:3326)                                                             at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:3326)                                                             at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1658)                                                             at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1386)                                                             at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:6733)                                                             at android.view.Choreographer$CallbackRecord.run(Choreographer.java:911)                                                             at android.view.Choreographer.doCallbacks(Choreographer.java:723)                                                             at android.view.Choreographer.doFrame(Choreographer.java:658)                                                             at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:897)                                                             at android.os.Handler.handleCallback(Handler.java:789)                                                             at android.os.Handler.dispatchMessage(Handler.java:98)复制代码

常规解决方法

StackOverFlow上面的方法增加权限

复制代码

发现并没有什么作用!!!!

我的解决方法

解决历程

经过几个小时的排查发现,当我的目标Activity继承AppCompatActivity时 程序没有问题。当目标Activity继承我自己的BaseActivity(我这个BaseActivity最终也会继承AppCompatActivity)时就会出现问题。

完美解决方法

我自己的BaseActivity里面有一个用于获取用户ID的**public void getUserId()方法,就是这货。 当你把这个方法改过名字(例如:getLocalUserId())或者修改该getUserId()private时,程序完美运行。 因此,可以知道这个getUserId()*是在原基类里面有实现的。

最后,希望我的方法能帮助到各位小伙伴。Thx~

转载于:https://juejin.im/post/5bc06b516fb9a05d3c801d2a

你可能感兴趣的文章
Arrays.asList(aa).size()一道笔试题
查看>>
aggregate(聚合)
查看>>
BizTalk Server 如何发送 EDI 消息(4)
查看>>
六大云计算厂商南山论剑,收下这封英雄帖!
查看>>
tomcat内存溢出的解决方法(java.util.concurrent.ExecutionException: java.lang.OutOfMemoryError:)...
查看>>
discuz 上传头像失败解决方法
查看>>
为域用户创建漫游用户配置文件
查看>>
设置域用户只能登陆到特定的计算机
查看>>
将博客搬至CSDN
查看>>
逼自己一把,你就优秀了
查看>>
我的友情链接
查看>>
sql server 第二讲
查看>>
我的友情链接
查看>>
我的友情链接
查看>>
mysql导出表结构
查看>>
Log4j使用总结
查看>>
Mysql主主复制原理及配置
查看>>
nginx编译安装
查看>>
我的友情链接
查看>>
我的友情链接
查看>>