telecomManager.acceptRingingCall()在android O中不起作用

时间:2017-05-19 12:22:41

标签: android

在新版本(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);
}

我做错了什么?

1 个答案:

答案 0 :(得分:0)

您收到SecurityException吗?如果您没有权限,或者用户尚未授予运行时权限,则抛出SecurityException。