标签: android-securityexception

java.lang.SecurityException:呼叫者uid XXXXX缺少任何android.permission.GET_ACCOUNTS

注意:这不是重复的,我在类似的StackOverflow问题中尝试了很多解决方案,但在我的情况下它们不起作用。感谢您的任何帮助。

只有在运行Android 6.0之前的版本的设备上才会发生此崩溃。例如,它在运行Android 5.1版的XT1032上崩溃。在这种情况下,每当我调用此方法时,在我的AppCompatActivity的onCreate方法中,

AccountManager.get(this).addOnAccountsUpdatedListener(this, null, true);

它崩溃是因为它似乎没有所需的权限(并且我不知道为什么,因为它在清单中)。我相信它并没有真正进入方法,但是由于@RequiresPermission行而导致在进入方法时崩溃:

@RequiresPermission(GET_ACCOUNTS)
    public void addOnAccountsUpdatedListener(final OnAccountsUpdateListener listener,
            Handler handler, boolean updateImmediately) { ...
Run Code Online (Sandbox Code Playgroud)

这是堆栈跟踪,还有更多的日志记录代码:

V/AccountManagerService: getAccounts: accountType null, caller's uid 10018, pid 23074
V/AccountManagerService:   caller uid 10018 has android.permission.GET_ACCOUNTS
V/AccountManagerService: getAccounts: accountType null, caller's uid 10018, pid 23074
V/AccountManagerService:   caller uid 10018 has android.permission.GET_ACCOUNTS
V/AccountManagerService:   caller uid 10009 has android.permission.INTERACT_ACROSS_USERS
V/AccountManagerService: getAccounts: accountType com.google, caller's uid 10009, pid 1738
V/AccountManagerService:   caller uid 10009 has android.permission.GET_ACCOUNTS
V/AccountManagerService: getAccounts: accountType null, caller's uid 10018, pid …
Run Code Online (Sandbox Code Playgroud)

android android-securityexception

1
推荐指数
1
解决办法
3613
查看次数

java.lang.SecurityException:Binder调用Android 6上的错误接口

最近开始因为java.lang.SecurityException: Binder invocation to an incorrect interface我们的应用程序崩溃,这只发生在6.0和6.0.1操作系统上.堆栈跟踪从崩溃报告服务中提取,无法在任何Android 6设备上本地复制.

该应用程序使用一个"服务"调用'startForeground',堆栈跟踪似乎指向该方法调用.

java.lang.SecurityException: Binder invocation to an incorrect interface
        at android.os.Parcel.readException(Parcel.java:1620)
        at android.os.Parcel.readException(Parcel.java:1573)
        at android.app.ActivityManagerProxy.setServiceForeground(ActivityManagerNative.java:4487)
        at android.app.Service.startForeground(Service.java:652)
        at com.anghami.audio.MusicService.J(MusicService.java:3517)
        at com.anghami.audio.MusicService.b(MusicService.java:2676)
        at com.anghami.audio.MusicService.F(MusicService.java:2647)
        at com.anghami.audio.MusicService.a(MusicService.java:2421)
        at com.anghami.audio.MusicService_.a(MusicService_.java:21)
        at com.anghami.audio.MusicService_$4.a(MusicService_.java:214)
        at org.androidannotations.api.a$a.run(BackgroundExecutor.java:401)
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:423)
        at java.util.concurrent.FutureTask.run(FutureTask.java:237)
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:154)
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:269)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)
        at java.lang.Thread.run(Thread.java:818)
Run Code Online (Sandbox Code Playgroud)

java android android-securityexception

1
推荐指数
1
解决办法
3895
查看次数

java.lang.SecurityException:Permission Denial:启动Intent {act = android.settings.USAGE_ACCESS_SETTINGS}

尝试startActivityForResult(intent, requestCode);使用final Intent intent = new Intent(Settings.ACTION_USAGE_ACCESS_SETTINGS);intent 时,我得到java.lang.SecurityException .有趣的是这次崩溃只发生在华为的Android 5.1 - 5.1.1上我没有华为设备.你能告诉我它的建议吗?

堆栈跟踪

Fatal Exception: java.lang.SecurityException: Permission Denial: starting Intent { act=android.settings.USAGE_ACCESS_SETTINGS cmp=com.android.settings/.Settings$UsageAccessSettingsActivity } from ProcessRecord{11b5f1a1 19764:com.myproject.my/u0a167} (pid=19764, uid=10167) not exported from uid 1000
       at android.os.Parcel.readException(Parcel.java:1546)
       at android.os.Parcel.readException(Parcel.java:1499)
       at android.app.ActivityManagerProxy.startActivity(ActivityManagerNative.java:2448)
       at android.app.Instrumentation.execStartActivity(Instrumentation.java:1496)
       at android.app.Activity.startActivityForResult(Activity.java:3794)
       at android.support.v4.app.BaseFragmentActivityJB.startActivityForResult(BaseFragmentActivityJB.java:48)
       at android.support.v4.app.FragmentActivity.startActivityForResult(FragmentActivity.java:77)
       at android.app.Activity.startActivityForResult(Activity.java:3755)
       at android.support.v4.app.FragmentActivity.startActivityForResult(FragmentActivity.java:859)
       at com.myproject.my.utils.PermissionsHelper$2.onClick(PermissionsHelper.java:134)
       at android.support.v7.app.AlertController$ButtonHandler.handleMessage(AlertController.java:157)
       at android.os.Handler.dispatchMessage(Handler.java:102)
       at android.os.Looper.loop(Looper.java:135)
       at android.app.ActivityThread.main(ActivityThread.java:5298)
       at java.lang.reflect.Method.invoke(Method.java)
       at java.lang.reflect.Method.invoke(Method.java:372)
       at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:911)
       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:706)
Run Code Online (Sandbox Code Playgroud)

java android securityexception android-securityexception

1
推荐指数
1
解决办法
1272
查看次数

以编程方式锁定或关闭屏幕

我想以编程方式关闭/锁定设备的屏幕.

目前,当我尝试:

DevicePolicyManager mDPM = (DevicePolicyManager)getSystemService(Context.DEVICE_POLICY_SERVICE);
mDPM.lockNow();
Run Code Online (Sandbox Code Playgroud)

我有这个错误:

java.lang.SecurityException:uid 10176没有为策略#3拥有的活动管理员

这是我的AndroidManifest.xml:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="opteamit.com.belami" >

    <uses-permission android:name="android.permission.INTERNET"/>
    <uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />
    <uses-permission android:name="android.permission.WAKE_LOCK" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
    <uses-feature android:name="android.hardware.location.gps" />
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
    <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/>
    <uses-permission android:name="android.permission.CAMERA"/>
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
    <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />

    <application...
Run Code Online (Sandbox Code Playgroud)

怎么了 ?

android android-manifest android-securityexception

1
推荐指数
1
解决办法
4772
查看次数

尽管在android清单中声明了所需的权限,但无法从设备获取电话号码

我正在尝试以编程方式从我的设备获取电话号码.我正在尝试使用以下代码:

TelephonyManager tMgr = (TelephonyManager) getApplicationContext().getSystemService(Context.TELEPHONY_SERVICE);
mPhoneNumber = tMgr.getLine1Number();
Run Code Online (Sandbox Code Playgroud)

我在清单文件中声明了以下权限:

 <uses-permission android:name="android.permission.INTERNET" />
 <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
 <uses-permission android:name="android.permission.READ_PHONE_STATE"/>
 <uses-permission android:name="android.permission.READ_SMS"/>
Run Code Online (Sandbox Code Playgroud)

但是我的应用程序仍然崩溃,堆栈跟踪如下:

E/AndroidRuntime: FATAL EXCEPTION: main
Process: toadways.ways.toad.toadways, PID: 29620
java.lang.RuntimeException: Unable to start activity ComponentInfo{toadways.ways.toad.toadways/toadways.ways.toad.toadways.RegistrationScreen}: java.lang.SecurityException: getLine1NumberForDisplay: Neither user 10240 nor current process has android.permission.READ_SMS.
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2416)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2476)
at android.app.ActivityThread.-wrap11(ActivityThread.java)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1344)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:148)
at android.app.ActivityThread.main(ActivityThread.java:5417)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
Caused by: java.lang.SecurityException: getLine1NumberForDisplay: Neither user 10240 nor current process has android.permission.READ_SMS.
at android.os.Parcel.readException(Parcel.java:1599) …
Run Code Online (Sandbox Code Playgroud)

android telephonymanager android-securityexception android-security

0
推荐指数
1
解决办法
7230
查看次数