Android Redmi 6-无法挂断电话

Android Redmi 6-无法挂断电话,android,Android,我想实现挂断电话的功能 但在Redmi 6 Android 8.1中,这是不可能的 我使用了以下两种方法: 一, 获取以下错误: java.lang.SecurityException: Neither user 10179 nor current process has android.permission.MODIFY_PHONE_STATE 二, 但在其他手机测试中,它是可以执行的 我不知道问题出在哪里。来自 修改电话状态 在API级别1中添加 公共静态最终字符串修改\电话\状态 允许修

我想实现挂断电话的功能

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

我使用了以下两种方法:

一,

获取以下错误:

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

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

我不知道问题出在哪里。

来自

修改电话状态 在API级别1中添加

公共静态最终字符串修改\电话\状态

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

不供第三方应用程序使用


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

我认为修改手机状态只能在根设备上授予隐藏API(如ITelephony)经常更改,没有文档记录,并且在整个系统中不统一devices@yasuo谢谢你的回答,我知道修改手机状态是一种系统特权。我正在寻找一种不用这个特权就可以挂断电话的方法。我正在使用Notification actionIntent of Notification来实现此功能。感谢您的回答,我知道修改手机状态是一项系统特权。我正在寻找一种不用这个特权就可以挂断电话的方法。我正在使用Notification的Notification actionIntent来实现此功能。
java.lang.SecurityException: Neither user 10179 nor current process has android.permission.MODIFY_PHONE_STATE
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.