uimi3手机官网自动接听来电怎办

在完成全部功能之前,我查询了很多资料,用了一个星期的时间终于陆陆续续的将这些功能全部完成了,为了众多和我一样的菜鸟少走一点弯路,我决定将它贴出来和大家一起分享,仔细一看距上次更新博客已经有半年了&。
一、开发环境
&&&&& Elispse5.5,JDK1.6,Aadroid 2.1
二、开发中使用到的重点技术点:
&&&&&&距离感应(SENSOR_SERVICE),音讯管理(AUDIO_SERVICE),
&&&&& 电话状态监听&(TELEPHONY_SERVICE),
&&&&&&java反射启动自动接听,开机自动启动Service,
&&&&& 监听来电,在Service中启动Activity并传递参数
三、主要开发流程:
&&&& 1. 在前三步中我们看到有一个公共的辅助类CommonHelper
&&&&& package com.org.
&&&&& import android.content.C
&&&&& import android.content.I
&&&&& public class CommonHelper {
&&&&&&&&&&//保存电话状态
&&&&&&&&& public static int phoneState=0;
&&&&&&&&&&//保存音讯管理对象
&&&&&&&&& public static MyAudioManager mam=
&&&&&&&&&&//保存去点电话号码
&&&&&&&&& public static String outGoingPhoneNumber=&&;
&&&&&&&&&&&
&&&&&&&&&&//启动一个新的Activity
&&&&&&&&&&public static void StartCustomerInfoActivity(Context context,String telNo)
&&&&&&&&& {
&&&&&&&&&&&&&&&//第一个参数&启动新的Acitivity的C& 第二个参数&启动的Acitivity的类
&&&&&&&&&&&&&&&Intent intent = new Intent(context,CustomerInfo.class);
&&&&&&&&&&&&&&&//在Service中启动一个Activity并需添加此Flag
&&&&&&&&&&&&&&&intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
&&&&&&&&&&&&&&&//启动新的Activity时传递的参数
&&&&&&&&&&&&&&&intent.putExtra(&TelNo&,telNo);
&&&&&&&&&&&&&&&//启动新的Activity
&&&&&&&&&&&&&& context.startActivity(intent);
&&&&&&&&& }
&&&&&其实将这个类放到第一步是不合适的,因为这个公共类实在我不断写码过程中完善的,并不是一开始就创建的。
&&&&&&2.首先我们建立我们一个音讯管理的类,用于管理当来电或者去点时扩音器的开关。
&&&& import android.content.C
&&&& import android.media.AudioM
&&&& import android.widget.T
&&&& public class MyAudioManager {
&&&&&&&&& & private AudioManager audioM
&&&&&&&&&&& private int currVolume=0;
&&&&&&&&&& &private C
&&&&&&&&&& public MyAudioManager(Object object,Context mc){
&&&&&&&&&&&&&&&&&//音频管理对象由外部调用时传入
&&&&&&&&&&&&&&& this.audioManager=(AudioManager)&
&&&&&&&&&&&&&& &this.context=
&&&&&&&&&&&& &&//设置音讯模式为对外输出
&&&&&&&&&&&&&& this.audioManager.setMode(AudioManager.ROUTE_SPEAKER);
&&&&&&&&&&&&&&& &//取得当前的音量
&&&&&&&&&&&& &currVolume=audioManager.getStreamVolume(AudioManager.STREAM_VOICE_CALL);
&&&&&&&&&&}
&&&&&&&&&&//打开扬声器
&&&&&&&&& public void OpenSpeaker()
&&&&&&&&& {
&&&&&&&&&&&& &&&//设置为true,打开扬声器
&&&&&&&&&&&&&&& audioManager.setSpeakerphoneOn(true);
&&&&&&&&&&&&&& &//设置打开扬声器的音量为最大
&&&&&&&&&&&& && audioManager.setStreamVolume(AudioManager.STREAM_VOICE_CALL,
&&& &&& &&&&&&&&&&&&& &audioManager.getStreamMaxVolume(AudioManager.STREAM_VOICE_CALL ),
&&& &&&&&&&&&&&&&&&&& &AudioManager.STREAM_VOICE_CALL);
&&&&&&&&&&&&&&&//Toast.makeText(context,&揚聲器已經打開&,Toast.LENGTH_SHORT).show();
&&&&&&&& }
&&&&&& &&//关闭扬声器
&&&&&&&& public void CloseSpeaker(){
&&&&&&&&&&&&& &//设置为false,关闭已经打开的扬声器
&&&&&&&&&&&&&& audioManager.setSpeakerphoneOn(false);
&&&&&&&&&&&& &&//恢复为正常音量
&&&&&&&&&&&&&& audioManager.setStreamVolume(AudioManager.STREAM_VOICE_CALL,currVolume,
&&& &&&&&&&&&&&&&&&&&&&& &AudioManager.STREAM_VOICE_CALL);
&&&&&&&&&&&&&&&//Toast.makeText(context,&揚聲器已經關閉&,Toast.LENGTH_SHORT).show();
&&&&&&&& }
&&&&&3.建立一个监听电话状态的类
&&&& package com.org.
&&&& import java.lang.reflect.InvocationTargetE
&&&& import java.lang.reflect.M
&&&& import com.android.internal.*;
&&&& import com.android.internal.telephony.IT
&&&&&import android.content.C
&&&& import android.os.RemoteE
&&&&&import android.telephony.PhoneStateL
&&&& import android.telephony.TelephonyM
&&&& import android.widget.T
&&&& public class SpeakMananger{
&&&&&&&&&&& private TelephonyManager& teleM
&&&&&&&& && private C
&&&&&&&&&&& public& SpeakMananger(Object object,Context p_context) {
&&&&&&&&&&&&&&&& &//转换从外部传入的Object为TelephonyManager对象
&&&&&&&&&&&&&&&&& this.teleManager=(TelephonyManager)
&&&&&&&&&&&&&&&& &this.context=p_
&&&&&&&&&&&&}
&&&&&&&&&& &//注册电话状态监听器
&&&&&&&&&&& public void RegisterListener()
&&&&&&&&&& &{
&&& &&&&&&&&&&&&& teleManager.listen(new MyPhoneStateListener(),PhoneStateListener.LISTEN_CALL_STATE);
&&&&&&&&&&& }
&&&&&&&&&&& class MyPhoneStateListener extends PhoneStateListener
&&&&&&&&&& &{
&&& &&&&&&&&&&&& @Override
&&& &&&&&&&&&&& &public void onCallStateChanged(int state,String incomingNumber)
&&&&&&&&&&&&&&& &{
&&& &&&&&&&&&&&&&&&&& && super.onCallStateChanged(state, incomingNumber);
&&& &&&&&&&&&&&&&&&&&&& &switch(state)
&&& &&&&&&&&&&&&&&&&&&&& {
&&& &&&&&&&&&&& &&&&&&&&&&&&&&&//空闲&&&& 没有电话打入或者打出 处于挂机空闲状态
&&& &&&&&&&&&& &&&&&&&&&&&&&&& &case TelephonyManager.CALL_STATE_IDLE:
&&& &&&&& &&&&& &&&&&&&&&&&&&& //Toast.makeText(context,&空閒&,Toast.LENGTH_SHORT).show();
&&& &&&&& &&&&&&&&&&&&&&&&&&& &
&&& &&&&&&&&&&&&&&&&&&&&&&&&& &//摘机&&&&&有电话打出或者打入& 按接听接或者其它操作拨打或接听来电
&&&&&&&&&&&&&&&&&&&&&&&&&&&&& &case TelephonyManager.CALL_STATE_OFFHOOK:
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& //Toast.makeText(context,&摘機&,Toast.LENGTH_SHORT).show();
&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&& &//去電 如果是去電則incomingNumber為null或&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&& //【因为此处无法监听去电并且无法去电的电话号码,所以当去电时此处的打入电话号码为null或者&&】
&&&&&&&&&&&&&&&&&&&&&&&&&&&&& if(incomingNumber==null || incomingNumber.length()&=0){
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& &&//打开扬声器
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& CommonHelper.mam.OpenSpeaker();
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&//根据公共类中保存的去电电话号码启动一个新的Activity
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& &CommonHelper.StartCustomerInfoActivity(context,CommonHelper.outGoingPhoneNumber);
&&& &&&&& &&&&&&&&&&&&&&&&&&& }
&&&&&&&&&&&&&&&&&&&&&&&&&&&& &//else&& //來電&&&&本人是需要在来电振铃的时候就打开扩音器和启动一个新的Acitivity,所以此处被注释掉
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& //CommonHelper.StartCustomerInfoActivity(context,incomingNumber);
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&& &&&&&&&&&&&&&&&&&&&&&&&& &&//振铃&&在此处我需要在振铃的时候自动接听电话并且打开扬声器和新启动一个Activity
&&&&&&&&&&&&&&&&&&&&&&&&&&&&& &case TelephonyManager.CALL_STATE_RINGING:
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&//Toast.makeText(context,&振鈴&,Toast.LENGTH_SHORT).show();
&&& &&&&& &
&&& &&&&& &&&&&&&&&&&&&&&&&&&&&&& &try {
&&& &&&&& &&&&&&&&&&&&&&&&&&&&&&&&&& &&/* 以下两种方法都可以使用 都能完成自动接听&但是第一种的异常信息处理的比较完善 */
&&& &&&&& &&&&&&&&&&&&&&& &&&&&&&&&&& //StartCall();
&&& &&&&& &&&&&&&&&&&&&&&&&&&&&&&&& &answerPhoneAidl();
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& &&//新启动一个Activity
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& &CommonHelper.StartCustomerInfoActivity(context,incomingNumber);
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& } catch (Exception e) {
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& & Toast.makeText(context,&自动接听发生异常:&+e.getMessage(),Toast.LENGTH_LONG).show();
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& &&}
&&&&&&&&&&&&&&&&&&&&&&&&&&&& &&
&&& &&&&& &&&&&&&&&&&&&& &}
&&&&&&&&&&&&&&&&&&&& &&//保存当前电话状态
&&&&&&&&&&&&&&&&&&&& &&CommonHelper.phoneState=
&&& &&&&&&&&&& &}
&&&&&&&& &}&&&&&&
&&&&&&&&& &//此自动接听代码来自官方开源Demo&
&&&&&&&& & private void answerPhoneAidl() throws Exception {
&&& &&&&&&&&&&& && Class c = Class.forName(teleManager.getClass().getName());
&&& &&&&&&&&&&&&&& Method m = c.getDeclaredMethod(&getITelephony&,(Class[])null);
&&& &&&&&&&&&&&&&& m.setAccessible(true);
&&& &&&&&&&&&&&&&& ITelephony telephonyS
&&& &&&&&&&&&&&&&& telephonyService = (ITelephony)m.invoke(teleManager,(Object[])null);
&&&&&&&&& &&&&&&&&& // Silence the ringer and answer the call!
&&& &&&&&&&&&&&&& &telephonyService.silenceRinger();&
&&& &&&&&&&&&&&&& &telephonyService.answerRingingCall();&&&&&&&&&&
&&&&&&&&& &}
&&&&&&&& &/**
&&&&&&&& &&* 利用JAVA反射机制调用ITelephony的answerRingingCall()开始通话。
&&&&&&&&& &*/
&&&&&&&&& &private void StartCall() {
&&&&&&&&&&&&&&&&&&// 初始化iTelephony
&&&&&&&&&&&&&&& &Class&TelephonyManager& c = TelephonyManager.
&&&&&&&&&&&&&&&&&Method getITelephonyMethod =
&&&&&&&&&&&&&&& &try {
&&&&&&&&&&&&&&&&&&&&&&&// 获取所有public/private/protected/默认
&&&&&&&&&&&&&&&&&&&&& &// 方法的函数,如果只需要获取public方法,则可以调用getMethod.
&&&&&&&&&&&&&&&&&&&& &getITelephonyMethod = c.getDeclaredMethod(&getITelephony&, (Class[])null);
&&&&&&&&&&&&&&&&&&&&&&&// 将要执行的方法对象设置是否进行访问检查,也就是说对于public/private/protected/默认
&&&&&&&&&&&&&&&&&&&&& &// 我们是否能够访问。值为 true 则指示反射的对象在使用时应该取消 Java 语言访问检查。值为 false
&&&&&&&&&&&&&&&&&&&&&& // 则指示反射的对象应该实施 Java 语言访问检查。
&&&&&&&&&&&&&&&&&&& & getITelephonyMethod.setAccessible(true);
&&&&&&&&&&&&&&& &} catch (SecurityException e) {
&&&& &&&& &&&&&&&&&&&&& Toast.makeText(context,&安全异常:&+e.getMessage(),Toast.LENGTH_SHORT).show();
&&&&&&&&&&&&&&&& } catch (NoSuchMethodException e) {
&&&&&&&&&&&&&&&&&&&&&&& Toast.makeText(context,&未找到方法:&+e.getMessage(),Toast.LENGTH_SHORT).show();
&&&&&&&&&&&&&&& &}
&&&&&&&&&& &&&&& try {
&&&&&&&&&&&&&&&&&&&&&&&ITelephony iTelephony = (ITelephony) getITelephonyMethod.invoke(teleManager, (Object[])null);
&&&&&&&&&&&&&&&&&&&&&&&&//停止响铃
&&&&&&&&&&&&&&&&&&&&&&& iTelephony.silenceRinger();
&&&&&&&&&&&&&&&&&&&&&&&&&//接听来电
&&&&&&&&&&&&&&&&&&&&&& iTelephony.answerRingingCall();
&&&&&&&&&&&&&&&&} catch (IllegalArgumentException e) {
&&&&&&&&&&&&&&&&&&&&&& &Toast.makeText(context,&参数异常:&+e.getMessage(),Toast.LENGTH_SHORT).show();
&&&&&&&&&&&&&&& } catch (IllegalAccessException e) {
&&&&&&&&&&&&&&&&&&&&&& &Toast.makeText(context,&进入权限异常:&+e.getMessage(),Toast.LENGTH_SHORT).show();
&&&&&&&&&&&&&& &} catch (InvocationTargetException e) {
&&&&&&&&&&&&&&&&&&&&&&& Toast.makeText(context,&目标异常:&+e.getMessage(),Toast.LENGTH_SHORT).show();
&&&&&&&&&&&&&&& } catch (RemoteException e) {
&&&&&&&&&&&&&&&&&&&&&& &Toast.makeText(context,&Remote异常:&+e.getMessage(),Toast.LENGTH_SHORT).show();
&&&&&&&&&&&&&&& }
&&&&&&&&&& &}
&&& 4.建立一个用于监听距离感应的类
&&& package com.org.
&&&&import android.hardware.S
&&& import android.hardware.SensorE
&&& import android.hardware.SensorEventL
&&& import android.hardware.SensorM
&&& import android.telephony.TelephonyM
&&&& public class ProximitySensor {
&&&&&&&&&&&&private SensorManager sensorM
&&&&&&&&&&& private S&
&&&&&&&&&&& private SensorEventL
&&&&&&&&&&& public ProximitySensor(Object object)
&&&&&&&&&&&&{
&&&&&&&&&&&&&&&&&&//获得外部传入的SensorManager对象
&&&&&&&&&&&&&&& &this.sensorManager=(SensorManager)
&&&&&&&&&&&&&&&&&&//取得距离感应类型的感应器
&&&&&&&&&&&&&&&&& this.sensor=sensorManager.getDefaultSensor(Sensor.TYPE_PROXIMITY);
&&&&&&&&&&&&&&&&& listener=new SensorEventListener()
&&&&&&&&&&&&&&&&& {
& &&&&&&&&&&&&&&&&&& && @Override
& &&&&&&&&&&& &&&&&&&&& public void onAccuracyChanged(Sensor sensor, int accuracy) {&
& &&&&&&&&&&&&&&&&&&&&&& }
& &&&&&&&&&& &&&&&&&&&& @Override
&&&&&&&&&&&&&&&&&&&&&&& public void onSensorChanged(SensorEvent event) {
& &&&&&&&&&&&&&&&&&&&&&&& if(event.values[0]==1.0){
&&&&&&&&&&&&&&&&&&&&&&&&&&&& switch(CommonHelper.phoneState)
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&{
& &&&&& &&&&&&&&&&&&&&& &&&&&&&&& &//空闲&& 离开耳边并且电话空闲的状态,关闭扬声器
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& &case TelephonyManager.CALL_STATE_IDLE:
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& &&&&&&& CommonHelper.mam.CloseSpeaker();
& &&&&& &&&&&&&&&&&&&&&&&&&&&&&& &&
& &&&&& &&&&&&&&&&&&&&&&&&&&&&&&&& //摘机&& 离开耳边并且电话状态为摘机状态,打开扬声器
& &&&&& &&&&&&&&&&&&&&&&&&&&&&&&&&& case TelephonyManager.CALL_STATE_OFFHOOK:
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&CommonHelper.mam.OpenSpeaker();
& &&&&& &&&&& &&&&&&&&&&&&&&&&&&&&
& &&&&& &&&&&&&&& &&&&&&&&&& }
&&&&&&&&&&&&&&&&&&&&&&&& }else{
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&//耳边接听电话关闭扬声器
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& CommonHelper.mam.CloseSpeaker();
&&&&&&&&&&&&&&&&&&&&&&& }
&&&&&&&&&&&&&&&&&&&& }&&
&&&&&&&&&&&&&&&& };
&&&&&&&&&&&&& &}
&&&&&&&&&&&& &//注册监听器
&&&&&&&&&&&&& public void RegisterListener()
&&&&&&&&&&&& &{
&&&&&&&&&&&&&&&&& & this.sensorManager.registerListener(listener, sensor,SensorManager.SENSOR_DELAY_FASTEST);
&&&&&&&&&&&&&&}
&&&&&&&&&& &&//移除监听器
&&&&&&&&&&& public void UnRegisterListener(){
&&&&&&&&&&&&&&&& &&this.sensorManager.unregisterListener(listener);
&&&&&&&&&&&&}
&&&&& 5.现在我们建立我们的Service
&&&&&&&& package com.org.
&&&&& import android.app.S
&&&&& import android.content.I
&&&&& import android.os.IB
&&&&&&public class PhoneCallStateService extends Service{
&&&&&&&&& &@Overide
&&&&&&&&&& public IBinder onBind(Intent intent) {
&&&&&&&&&&&&&&&
&&&&&&&&& &}
&&&&&&&&&& @Override
&&&&&&&&&& public void onCreate(){
&&&&&&&&&&&&&&& super.onCreate();
&&&&&&&&&&&}
&&&&&&&&&&&
&&&&&&&&&&&/*在Service启动的时候,实例化我们刚才建立的所有类*/
&&&&&&&&&& @Override
&&&&&&&&&& public void onStart(Intent intent,int startId)
&&&&&&&&&& {
&&&&&&&&&&&&&&& super.onStart(intent, startId);
&&&&&&&&&&&&&&&&&//音频管理服务
&&&&&&&&&&&&&&&& MyAudioManager am=new MyAudioManager(this.getSystemService(AUDIO_SERVICE),this);
&&&&&&&&&&&&&&&&&&//将音讯管理对象保存到公共类中
&&&&&&&&&&&&&&&& CommonHelper.mam=
&&&&&&&&&&&&&&&&//电话监听服务【是否有来电、去电、是否空闲】
&&&&&&&&&&&&&&&&SpeakMananger sm=new SpeakMananger(this.getSystemService(TELEPHONY_SERVICE),this);
&&&&&&&&&&&&&&& sm.RegisterListener();
&&&&&&&&&&&&&&&&//距离感应
&&&&&&&&&&&&&&& ProximitySensor ps=new ProximitySensor(this.getSystemService(SENSOR_SERVICE));
&&&&&&&&&&&&&&&&ps.RegisterListener();
&&&&&&&&&& }
&&& &&&& & @Override
&&&&&&& & &public void onDestroy(){
&&&&&&&&&& &&&&& super.onDestroy();
&&&& &&&&& }
&&&&&&6.建立一个广播接收类,用于在开机启动完毕后启动我们的Service,并且监听去电获得去电电话号码
&&&&&&package com.org.
&&&&& import android.content.BroadcastR
&&&&& import android.content.C
&&&&& import android.content.I
&&&&&&&* 1.首先开机启动后系统会发出一个Standard Broadcast Action,
&&&&&& *&&& 名字叫android.intent.action.BOOT_COMPLETED,这个Action只会发出一次。
&&&&&&&* 2.构造一个BroadcastReceiver类,重构其抽象方法onReceive(Context context, Intent intent),
&&&&&&&*&&&&&&&& 在其中启动你想要启动的Service。
&&&&& &* 3.在AndroidManifest.xml中,首先加入
&&&&&& *&&& &uses-permission android:name=&android.permission.RECEIVE_BOOT_COMPLETED&&&/uses-permission&
&&&&&& *&&& 来获得BOOT_COMPLETED的使用许可,然后注册前面重构的IntentReceiver类,
&&&&&&&*&&& 在其&intent-filter&中加入&action android:name=&android.intent.action.BOOT_COMPLETED& /& ,
&&&&&& *&&& 以使其能捕捉到这个Action。&&&&&&&
&&&&&& * 參考文檔:&
&&&&&& public class StartReceiver extends BroadcastReceiver&
&&&&&&&&&&& &/*要接收的intent源*/
&&&&&&&&&&&& static final String ACTION = &android.intent.action.BOOT_COMPLETED&;
&&&&&&&&&&&& public void onReceive(Context context, Intent intent)&
&&&&&&&&&&&& {
&&& &&&&&&&&&&&&&&&//如果系統已經開機完畢,則啟動电话状态服務
&&&&&&&&&&&&&&&&&& if (intent.getAction().equals(ACTION))&
&&&&&&&&&&&&&&&&& &{
&&&&&&&&&&&&&&&&&&&&& &//启动电话状态服务
&&&&&&&&&&&&&&&&&&&&&& context.startService(new Intent(context,PhoneCallStateService.class));
&&&&&&&&&&&&&&&&&& }
&&&&&&&&&&&&&&&&& &/*
&&&&&&&&&&&&&&&&&&& *& intent.getAction().equals(Intent.ACTION_NEW_OUTGOING_CALL)& 去电
&&&&&&&&&&&&&&&&&& &*& intent.getAction().equals(Intent.ACTION_CALL)) 来电
&&&&&&&&&&&&&&&&&&&&*/
&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&//监听去电获得去电电话号码
&&&&&&&&&&&&&&&&& if(intent.getAction().equals(Intent.ACTION_NEW_OUTGOING_CALL))
&&&&&&&&&&&&&&&&& {
&&&&&&&&&&&&&&&&&&&& & &CommonHelper.outGoingPhoneNumber=intent.getStringExtra(Intent.EXTRA_PHONE_NUMBER);
&&&&&&&&&&&&&&& & }
&&&&&&&&&&& }
&&&&& 7.由有上述类需要使用到一些权限,所以我们要在我们的AndroidManifest.xml配置文件中做如下修改:
&&&&&&&?xml version=&1.0& encoding=&utf-8&?&
&&&&&&&&&&& &manifest xmlns:android=&&
&&&&&&&&&&&&&&&&&& package=&com.org.speaker&
&&&&&&&&&&&&&&&&&& android:versionCode=&1&
&&&&&&&&&&&&&&&&&& android:versionName=&1.0&&
&&&&&&&&&&&&&application android:icon=&@drawable/icon&&
&&&&&&&&&&&&&&&&&& &activity android:name=&CustomerInfo&&&/activity&
&&&&&&&&&&&&&&&&&& &receiver& android:name=&StartReceiver& &
&&&&&&&&&&&&&&&&&&&&&&&& &&intent-filter&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& &&action android:name=&android.intent.action.BOOT_COMPLETED& /&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&category android:name=&android.intent.category.LAUNCHER& /&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&!--&添加过滤条件 监听电话状态 --&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& &action android:name=&android.intent.action.PHONE_STATE&/&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&!--&监听电话拨出 --&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& &action android:name=&android.intent.action.NEW_OUTGOING_CALL& /&
&&&&&&&&&&&&&&&&&&&&&&&&&&&/intent-filter&
&&&&&&&&&&&&&&&&& &/receiver&
&&&&&&&&&&&&&&&&&&&service android:name=&PhoneCallStateService& android:enabled=&true&&&/service&
&&&&&&&&&&&&/application&
&&&&&&&&&& &uses-sdk android:minSdkVersion=&4& /&
&&&&&&&&&&
&&&&&&&&&&&!--&连接互联网的权限 --&
&&&&&&&&&&&uses-permission android:name=&android.permission.INTERNET& /&
&&&&&&&&& &!--&读取手机状态的权限 --&
&&&&&&&&&&&uses-permission android:name=&android.permission.READ_PHONE_STATE& /&
&&&&&&&&&&&!--&接收手机开机广播的权限 --&
&&&&&&&&&&&uses-permission android:name=&android.permission.RECEIVE_BOOT_COMPLETED& /&
&&&&&&&&&&&!--&更改音讯设置的权限 --&
&&&&&&&&& &uses-permission android:name=&android.permission.MODIFY_AUDIO_SETTINGS& /&
&&&&&&&&&&&!--&使用SD卡的权限 这个是我个人用到的 大家可以不使用&--&
&&&&&&&&& &uses-permission android:name=&android.permission.WRITE_EXTERNAL_STORAGE& /&
&&&&&&&&&&&!--&监听去电的权限 --&
&&&&&&&&& &uses-permission android:name=&android.permission.PROCESS_OUTGOING_CALLS& /&&&
&&&&&&&&& &!--&修改电话状态的权限 --&
&&&&&&&&&&&uses-permission android:name=&android.permission.MODIFY_PHONE_STATE& /&
&&&&&&&&& &!--& 监听来电的权限 --&
&&&&&&&&& &uses-permission android:name=&android.permission.CALL_PHONE& /&
&&&& &/manifest&&
&&& &在项目中,我们使用反编译来完成自动接听还需要官方提供的两个底层包:
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:1381165次
积分:17106
积分:17106
排名:第255名
原创:142篇
转载:997篇
评论:217条
(6)(9)(7)(13)(10)(27)(6)(15)(15)(57)(41)(7)(5)(6)(12)(21)(47)(32)(1)(28)(1)(23)(49)(35)(25)(60)(99)(36)(108)(45)(30)(7)(15)(1)(18)(62)(3)(53)(1)(8)(9)(9)(9)(22)(7)(15)(1)(11)(3)(9)安卓智能机怎么设置一来电自动接听?_百度知道
安卓智能机怎么设置一来电自动接听?
进入手机设置,切换至【我的设备】,进入【通话】选择【通话配件】勾选【自动接听】即可
其他类似问题
为您推荐:
、可以2。可以根据自己的需要要使用、这个功能其实不适用用所有模式,假如你不方便的时候自动接听是很麻烦的、打开手机设置-通话设置-接听模式 启动(自动接听)3
可以下载一个360软件 还可以在手机设置中设置一个
插上耳机,就可以接听
不过要用耳机听
安卓的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁经验1431 米
在线时间301 小时
版本JHDCNBH37.0.1
积分 1955, 距离下一级还需 45 积分
积分 1955, 距离下一级还需 45 积分
机型红米Note WCDMA版
MIUI版本JHDCNBH37.0.1
手机到手10天系统17的时候没留意,升级23之后发现来电自动接听,以为打开了自动接听设置,进入设置看下自动接听设置是关闭的,然后我打开自动接听选插入耳机时自动接听还是一样,卡刷官方23完整包,双清也不行,大神们有解决办法教下小弟,感激不尽!
分享到微信朋友圈
打开微信,点击底部的“发现”,使用 “扫一扫” 即可将网页分享到我的朋友圈。
经验5582 米
在线时间349 小时
版本5.10.16
MIUI 7 内测组
积分 6627, 距离下一级还需 13373 积分
积分 6627, 距离下一级还需 13373 积分
机型小米手机3/4 WCDMA版
签到次数51
MIUI版本5.10.16
在通话设置里面的更多电话设置找到自动接听这选项,看一下有没有开启啦
MIUI 7 内测组
经验468 米
在线时间14 小时
版本5.6.11
积分 440, 距离下一级还需 60 积分
积分 440, 距离下一级还需 60 积分
机型红米Note WCDMA版
签到次数25
MIUI版本5.6.11
我的是红米note 移动增强版
解决方法:拨号状态下拨*#*#3646633#*#*,进入工程模式,点Auto Anwser,不自动接听显示Enable,自动接听显示Disable。点 Enable 就激活自动接听,点 Disable 就取消自动接听,自己试一下吧,其它的设置不明白的别乱动。
我也是刚刚学的,呵呵,昨天把声音调大了下,就出现这样的情况了,现在好了,
经验1431 米
在线时间301 小时
版本JHDCNBH37.0.1
积分 1955, 距离下一级还需 45 积分
积分 1955, 距离下一级还需 45 积分
机型红米Note WCDMA版
MIUI版本JHDCNBH37.0.1
假信号什么的还好,上网问题不大,这个问题对我讲很严重,经常自动接听而又不知道的话,会给人骂死的,高人在就救救我吧!
经验1340 米
在线时间71 小时
积分 1610, 距离下一级还需 390 积分
积分 1610, 距离下一级还需 390 积分
机型红米Note 2 移动/标准
签到次数15
MIUI版本5.9.2
我的不会,一切正常~~~~
你若安好便是晴天!!!
经验1431 米
在线时间301 小时
版本JHDCNBH37.0.1
积分 1955, 距离下一级还需 45 积分
积分 1955, 距离下一级还需 45 积分
机型红米Note WCDMA版
MIUI版本JHDCNBH37.0.1
我的不会,一切正常~~~~
是23的缘故吗,又不想刷回17,唉……!
经验2639 米
在线时间146 小时
版本5.10.19
积分 2835, 距离下一级还需 2165 积分
积分 2835, 距离下一级还需 2165 积分
机型小米手机3/4 WCDMA版
签到次数35
MIUI版本5.10.19
经验1431 米
在线时间301 小时
版本JHDCNBH37.0.1
积分 1955, 距离下一级还需 45 积分
积分 1955, 距离下一级还需 45 积分
机型红米Note WCDMA版
MIUI版本JHDCNBH37.0.1
在通话设置里面的更多电话设置找到自动接听这选项,看一下有没有开启啦
怪我问题没说清楚,不是设置问题,自动接听设置是关闭的,试过打开自动接听,仅插入耳机或打开蓝牙,还是一样,17的时候没这个问题,虽然没解决问题,还是要谢谢你的帮助。
经验1431 米
在线时间301 小时
版本JHDCNBH37.0.1
积分 1955, 距离下一级还需 45 积分
积分 1955, 距离下一级还需 45 积分
机型红米Note WCDMA版
MIUI版本JHDCNBH37.0.1
内测组就是好。
在线时间0 小时
积分 30, 距离下一级还需 20 积分
积分 30, 距离下一级还需 20 积分
我的是红米note 移动增强版
解决方法:拨号状态下拨*#*#3646633#*#*,进入工程模式,点Auto Anwser,不自动接 ...
试过了,没有开启自动接听。 不管用呀
已关注微信
关注腾讯微博
已关注腾讯微博
关注新浪微博
已关注新浪微博
MIUI五周年
MIUI五周年纪念勋章
已关注极客秀微信
MIUI 7纪念勋章
Copyright (C) 2015 MIUI
京ICP备号 | 京公网安备5号 | 京ICP证110507号

我要回帖

更多关于 uimi3 的文章

 

随机推荐