2013-04-30 78 views
0
public void onCallStateChanged(int state, String incomingNumber) { 
    Log.i("CALL_STATE changed " ,"phoneState"); 

    switch (state) { 
    case TelephonyManager.CALL_STATE_IDLE: 
     Log.i("IDLE","CALL_STATE_IDLE"); 

     break; 

    case TelephonyManager.CALL_STATE_OFFHOOK: 
     //This is where we know call is established 

     Vibrator mVibrator = (Vibrator) mcontext.getSystemService(mcontext.VIBRATOR_SERVICE); 
     // Vibrate for 250 milliseconds 
     mVibrator.vibrate(250); 
     break; 


    case TelephonyManager.CALL_STATE_RINGING: 
     Log.i("RINGING","CALL_STATE_RINGING"); 
     break; 

    default: 
     Log.d("TAG", "Unknown phone state=" + state); 
    } 
} 

在OFFHOOK状态下,即当被叫方接听电话时,电话不振动。可能的原因是什么?当被叫方应答呼叫时使手机振动

回答

1

原因可能是,您没有将权限添加到AndroidManifest。 以下内容添加到您的AndroidManifest.xml

<uses-permission android:name="android.permission.VIBRATE" /> 

问候

+0

不许可的,因为它,我已经给许可<使用许可权的android:NAME =“android.permission.VIBRATE – ekp 2013-04-30 07:36:15

+0

尝试增加更长的INTERVALL你是否在一个设备上测试它?如果是这样的设备?添加一个记录器,看看你是否到达案例 – BennX 2013-04-30 07:38:20

+0

雅,我试过它在设备上(华为),甚至尝试了更长的时间间隔 – ekp 2013-04-30 07:41:05