首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >java.lang.SecurityException:拒绝权限:启动意图

java.lang.SecurityException:拒绝权限:启动意图
EN

Stack Overflow用户
提问于 2020-08-08 21:39:49
回答 1查看 1.8K关注 0票数 0

Android Studio

任何人都可以帮助我解决这个问题,当呼叫意图发出呼叫时发生的问题

问题发生在一些编辑之后,但我忘记了我做了什么,我只是添加了一个新的活动,也在删除它之后,问题仍然存在

这是logcat错误

代码语言:javascript
复制
2020-08-08 16:31:28.351 2191-2191/? E/Zygote: isWhitelistProcess - Process is Whitelisted
2020-08-08 16:31:28.353 2191-2191/? E/Zygote: accessInfo : 1
2020-08-08 16:31:28.369 2191-2191/? E/3p.unitssender: Unknown bits set in runtime_flags: 0x8000
2020-08-08 16:31:29.328 2191-2191/com.th3p.unitssender2 E/AndroidRuntime: FATAL EXCEPTION: main
    Process: com.th3p.unitssender2, PID: 2191
    java.lang.SecurityException: Permission Denial: starting Intent { act=android.intent.action.CALL dat=tel:xxxxxxxxxxxxxxxxxxxxx cmp=com.android.server.telecom/.components.UserCallActivity (has extras) } from ProcessRecord{22be400 2191:com.th3p.unitssender2/u0a590} (pid=2191, uid=10590) with revoked permission android.permission.CALL_PHONE
        at android.os.Parcel.createException(Parcel.java:2088)
        at android.os.Parcel.readException(Parcel.java:2056)
        at android.os.Parcel.readException(Parcel.java:2004)
        at android.app.IActivityTaskManager$Stub$Proxy.startActivity(IActivityTaskManager.java:4328)
        at android.app.Instrumentation.execStartActivity(Instrumentation.java:1713)
        at android.app.Activity.startActivityForResult(Activity.java:5252)
        at androidx.fragment.app.FragmentActivity.startActivityForResult(FragmentActivity.java:675)
        at android.app.Activity.startActivityForResult(Activity.java:5203)
        at androidx.fragment.app.FragmentActivity.startActivityForResult(FragmentActivity.java:662)
        at android.app.Activity.startActivity(Activity.java:5581)
        at android.app.Activity.startActivity(Activity.java:5549)
        at com.th3p.unitssender2.MainActivity$3.onClick(MainActivity.java:520)
        at android.view.View.performClick(View.java:7869)
        at android.widget.TextView.performClick(TextView.java:14958)
        at android.view.View.performClickInternal(View.java:7838)
        at android.view.View.access$3600(View.java:886)
        at android.view.View$PerformClick.run(View.java:29362)
        at android.os.Handler.handleCallback(Handler.java:883)
        at android.os.Handler.dispatchMessage(Handler.java:100)
        at android.os.Looper.loop(Looper.java:237)
        at android.app.ActivityThread.main(ActivityThread.java:8016)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1076)
     Caused by: android.os.RemoteException: Remote stack trace:
        at com.android.server.wm.ActivityStackSupervisor.checkStartAnyActivityPermission(ActivityStackSupervisor.java:1378)
        at com.android.server.wm.ActivityStarter.startActivity(ActivityStarter.java:921)
        at com.android.server.wm.ActivityStarter.startActivity(ActivityStarter.java:694)
        at com.android.server.wm.ActivityStarter.startActivityMayWait(ActivityStarter.java:1925)
        at com.android.server.wm.ActivityStarter.execute(ActivityStarter.java:625)

这是java代码

代码语言:javascript
复制
        TelecomManager telecomManager = (TelecomManager) getSystemService(Context.TELECOM_SERVICE);
        int simCardNumber = 0; //0 for first card and 1 for second
        Intent makeCall = new Intent(Intent.ACTION_CALL);
        if (ActivityCompat.checkSelfPermission(getApplicationContext(), Manifest.permission.READ_PHONE_STATE) != PackageManager.PERMISSION_GRANTED) {
            ActivityCompat.requestPermissions(MainActivity.this,
                    new String[]{Manifest.permission.READ_PHONE_STATE},
                    REQ_CODE_PERMISSION_READ_PHONE_STATE);
        }
            makeCall.putExtra("android.telecom.extra.PHONE_ACCOUNT_HANDLE", telecomManager.getCallCapablePhoneAccounts().get(simCardNumber));
            makeCall.setData(Uri.parse(Normal_Balance));
            startActivity(makeCall);
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-08-09 13:53:13

问题是因为权限我已经通过以不同的方式请求权限来解决了问题

我在这里用了这个

Android 6.0 multiple permissions

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63316052

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档