Java 接受来电在棉花糖和noughat中不起作用
我正在为来电处理应用程序来电屏幕。我无法接受android棉花糖和牛轧糖API级别23至25的来电 公共void acceptCall(){ TelecomManager TelecomManager=nullJava 接受来电在棉花糖和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
//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上都不推荐使用