高版本自动接听电话方法
2015-11-02 18:36
393 查看
原文地址:http://www.eoeandroid.com/forum.php?mod=viewthread&tid=894679&page=1&_dsign=b92c470b
高版本自动接听电话方法:
try {
Method method = Class.forName("android.os.ServiceManager")
.getMethod("getService", String.class);
IBinder binder = (IBinder) method.invoke(null, new Object[]{TELEPHONY_SERVICE});
ITelephony telephony = ITelephony.Stub.asInterface(binder);
telephony.answerRingingCall();
} catch (NoSuchMethodException e) {
Log.d("Sandy", "", e);
} catch (ClassNotFoundException e) {
Log.d("Sandy", "", e);
}catch (Exception e) {
Log.d("Sandy", "", e);
try{
Log.e("Sandy", "for version 4.1 or larger");
Intent intent = new Intent("android.intent.action.MEDIA_BUTTON");
KeyEvent keyEvent = new KeyEvent(KeyEvent.ACTION_UP, KeyEvent.KEYCODE_HEADSETHOOK);
intent.putExtra("android.intent.extra.KEY_EVENT",keyEvent);
sendOrderedBroadcast(intent,"android.permission.CALL_PRIVILEGED");
} catch (Exception e2) {
Log.d("Sandy", "", e2);
Intent meidaButtonIntent = new Intent(Intent.ACTION_MEDIA_BUTTON);
KeyEvent keyEvent = new KeyEvent(KeyEvent.ACTION_UP, KeyEvent.KEYCODE_HEADSETHOOK);
meidaButtonIntent.putExtra(Intent.EXTRA_KEY_EVENT,keyEvent);
sendOrderedBroadcast(meidaButtonIntent, null);
}
}
高版本自动接听电话方法:
try {
Method method = Class.forName("android.os.ServiceManager")
.getMethod("getService", String.class);
IBinder binder = (IBinder) method.invoke(null, new Object[]{TELEPHONY_SERVICE});
ITelephony telephony = ITelephony.Stub.asInterface(binder);
telephony.answerRingingCall();
} catch (NoSuchMethodException e) {
Log.d("Sandy", "", e);
} catch (ClassNotFoundException e) {
Log.d("Sandy", "", e);
}catch (Exception e) {
Log.d("Sandy", "", e);
try{
Log.e("Sandy", "for version 4.1 or larger");
Intent intent = new Intent("android.intent.action.MEDIA_BUTTON");
KeyEvent keyEvent = new KeyEvent(KeyEvent.ACTION_UP, KeyEvent.KEYCODE_HEADSETHOOK);
intent.putExtra("android.intent.extra.KEY_EVENT",keyEvent);
sendOrderedBroadcast(intent,"android.permission.CALL_PRIVILEGED");
} catch (Exception e2) {
Log.d("Sandy", "", e2);
Intent meidaButtonIntent = new Intent(Intent.ACTION_MEDIA_BUTTON);
KeyEvent keyEvent = new KeyEvent(KeyEvent.ACTION_UP, KeyEvent.KEYCODE_HEADSETHOOK);
meidaButtonIntent.putExtra(Intent.EXTRA_KEY_EVENT,keyEvent);
sendOrderedBroadcast(meidaButtonIntent, null);
}
}
相关文章推荐
- android 版本升级时,so变化
- 关于解决Installation failed due to invalid APK file! Please check logcat output for more details.Launch
- Cannot load 32-bit SWT libraries on 64-bit JVM,SDK Manager不能启动。
- c语言宏定义中的#、##应用实例
- oracle查询锁表解锁语句
- 几个MQTT的知识点
- springmvc mybatis 整合 框架源码 bootstrap html5 mysql oracle spring
- VMware VCenter模板不显示问题
- iOS获取启动页图片自己编辑动画
- JavaScript中的Map
- 人类现代史的全本鱼难题
- 连接Linux云服务器上的mysql服务器1.
- NYOJ-123-士兵杀敌(四)【线段树】
- 互联网金融-众筹网站收集(转)
- 语句小结
- 循环遍历HashMap的较快方法
- 【Win10】让 AppBarButton 支持更复杂的 Icon 内容
- 笔记_Maya绑定基础_骨骼的 关节显示与设置
- iOS学习--webView笔记
- PyQt4 学习笔记6之控件