Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/339.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 接受来电在棉花糖和noughat中不起作用_Java_Android_Xml_Call - Fatal编程技术网

Java 接受来电在棉花糖和noughat中不起作用

Java 接受来电在棉花糖和noughat中不起作用,java,android,xml,call,Java,Android,Xml,Call,我正在为来电处理应用程序来电屏幕。我无法接受android棉花糖和牛轧糖API级别23至25的来电 公共void acceptCall(){ TelecomManager TelecomManager=null //API level >=26 if (android.os.Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { telecomManager = (TelecomManager) getApp

我正在为来电处理应用程序来电屏幕。我无法接受android棉花糖和牛轧糖API级别23至25的来电

公共void acceptCall(){ TelecomManager TelecomManager=null

    //API level >=26
    if (android.os.Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
        telecomManager = (TelecomManager) getApplicationContext().getSystemService(Context.TELECOM_SERVICE);
        telecomManager.acceptRingingCall();
    }

    //API level >=22
    else if (android.os.Build.VERSION.SDK_INT <= Build.VERSION_CODES.LOLLIPOP_MR1) {
        try {
            Runtime. getRuntime (). exec ("input keyevent " +
                    Integer.toString(KeyEvent.KEYCODE_HEADSETHOOK));
        } catch (IOException e) {
            // Runtime.exec(String) had an I/O problem, try to fall back
            String enforcedPerm = "android.permission.CALL_PRIVILEGED";
            Intent btnDown = new Intent(Intent.ACTION_MEDIA_BUTTON).putExtra(
                    Intent.EXTRA_KEY_EVENT, new KeyEvent(KeyEvent.ACTION_DOWN,
                            KeyEvent.KEYCODE_HEADSETHOOK));
            Intent btnUp = new Intent(Intent.ACTION_MEDIA_BUTTON).putExtra(
                    Intent.EXTRA_KEY_EVENT, new KeyEvent(KeyEvent.ACTION_UP,
                            KeyEvent.KEYCODE_HEADSETHOOK));

            context.sendOrderedBroadcast(btnDown, enforcedPerm);
            context.sendOrderedBroadcast(btnUp, enforcedPerm);
        }
    }


    //API level =23 || API=25||API=26
    if (android.os.Build.VERSION.SDK_INT == Build.VERSION_CODES.M || android.os.Build.VERSION.SDK_INT == Build.VERSION_CODES.N_MR1 ||
            android.os.Build.VERSION.SDK_INT == Build.VERSION_CODES.N) {
       //what code should i do here?

    }
}
//API级别>=26
if(android.os.Build.VERSION.SDK\u INT>=Build.VERSION\u code.O){
telecomManager=(telecomManager)getApplicationContext().getSystemService(Context.TELECOM_SERVICE);
telecomManager.acceptRingingCall();
}
//API级别>=22

else if(android.os.Build.VERSION.SDK_INT请参阅TelecomManager的文档

请注意,对某些电信信息的访问受权限保护。除非您的应用程序在其清单文件中声明了相应的权限,否则无法访问受保护的信息或访问受保护的功能。如果应用了权限,请在方法说明中注明


AcceptringCall()
的调用受分类为“危险”的权限保护。在Android版本Marshmallow(API 23)或更新版本上,您必须在运行时请求权限,并将其保存在清单中。

请参阅
TelecomManager
的文档:

请注意,对某些电信信息的访问受权限保护。除非您的应用程序在其清单文件中声明了相应的权限,否则无法访问受保护的信息或访问受保护的功能。如果应用了权限,请在方法说明中注明

AcceptringCall()
的调用受分类为“危险”的权限保护。在Android版本Marshmallow(API 23)或更新版本上,您必须在运行时请求权限,并将其保存在清单中。

谷歌更新:

telecomManager.acceptRingingCall();
telecomManager.acceptRingingCall(false);
telecomManager.endCall();
所有这三个命令在Android Q上都不推荐使用

谷歌更新:

telecomManager.acceptRingingCall();
telecomManager.acceptRingingCall(false);
telecomManager.endCall();
所有这三个命令在Android Q上都不推荐使用