在新版本(Android O)中,他们表示TelecomManager类将具有acceptRingingCall()方法,借助该方法可以自动接收来电。我试过了,但它没有自动接受电话。我想在我的应用中使用此功能。我用不同的方式尝试了牛轧糖和棉花糖,但它没有用。这是我在Android O中尝试的代码:
public void autoanswer() {
TelecomManager telecomManager = (TelecomManager)context.getSystemService(Context.TELECOM_SERVICE);
telecomManager.acceptRingingCall();
}
我的宣言:
<uses-permission android:name="android.permission.ANSWER_PHONE_CALLS" />
这是Runtime Dependeny:
private void RequestMultiplePermission() {
ActivityCompat.requestPermissions(this, new String[]{ANSWER_PHONE_CALLS}, PERMISSION_REQUEST_CODE);
}
@Override
public void onRequestPermissionsResult(int requestCode, String permissions[], int[] grantResults) {
switch (requestCode) {
case PERMISSION_REQUEST_CODE:
if (grantResults.length > 0) {
boolean AnswerPermission = grantResults[0] == PackageManager.PERMISSION_GRANTED;
if (AnswerPermission) {
Toast.makeText(getApplicationContext(), "Permission Granted", Toast.LENGTH_LONG).show();
} else {
Toast.makeText(getApplicationContext(), "Permission Denied", Toast.LENGTH_LONG).show();
}
}
break;
}
}
public boolean CheckingPermissionIsEnabledOrNot() {
int AnswerPhoneResult = ContextCompat.checkSelfPermission(this, ANSWER_PHONE_CALLS);
return (AnswerPhoneResult == PackageManager.PERMISSION_GRANTED);
}
我做错了什么?
答案 0 :(得分:0)
您收到SecurityException吗?如果您没有权限,或者用户尚未授予运行时权限,则抛出SecurityException。