Redmi 6-无法挂断电话

时间:2018-12-06 08:40:50

标签: android

我想实现挂断电话的功能。

但是在Redmi 6(Android 8.1)中,这是不可能的。

我使用了以下两种方法:

1。

TelecomManager telecomManager = (TelecomManager) context.getSystemService(Context.TELECOM_SERVICE);
if (telecomManager != null) {
     telecomManager.endCall();
}

出现以下错误:

java.lang.SecurityException: Neither user 10179 nor current process has android.permission.MODIFY_PHONE_STATE

2。

TelephonyManager mTelMgr = (TelephonyManager) context.getSystemService(Service.TELEPHONY_SERVICE);
Class<TelephonyManager> c = TelephonyManager.class;
try {
    Method getITelephonyMethod = c.getDeclaredMethod("getITelephony", (Class[]) null);
    getITelephonyMethod.setAccessible(true);
    ITelephony iTelephony;
    iTelephony = (ITelephony) getITelephonyMethod.invoke(mTelMgr, (Object[]) null);
    iTelephony.endCall();
} catch (Exception e) {
    e.printStackTrace();
}

出现以下错误:

java.lang.SecurityException: MODIFY_PHONE_STATE permission required.

但是在其他手机测试中,它可以执行。

我不知道问题出在哪里。

1 个答案:

答案 0 :(得分:1)

来自Documentation

MODIFY_PHONE_STATE 已在API级别1中添加

公共静态最终字符串MODIFY_PHONE_STATE

允许修改电话状态-开机,mmi等。不包括拨打电话。

  

不供第三方应用程序使用。

因此,除非其系统应用程序或您的设备已植根,否则您的应用程序将无法使用此权限

相关问题