您好,登錄后才能下訂單哦!
這篇文章給大家分享的是有關Android中如何設置手機在通話接通和斷開時震動的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。
[Android Version]
Android V2.3 ( GB,GB2)
Android V4.0, 4.1( ICS, ICS2, JB)
Android V4.2( JB2,JB3,JB5)
Android V4.4
Android V5.0,5.1
[DESCRIPTION]
若是需要客制化在通話接通或者斷開時手機震動的行為,可以參考以下修改
[SOLUTION]
通話接通時:
Android V4.4之前版本:
1 在packages\apps\phone\src\com\android\phone\CallNotifier.java開頭處添加private Vibrator mVibrator;
2 在packages\apps\phone\src\com\android\phone\CallNotifier.java函數onPhoneStateChanged開頭處添加
if (mVibrator == null){
mVibrator = (Vibrator)
mApplication.getApplicationContext().getSystemService(Context.VIBRATOR_SERVICE);
}
3 在packages\apps\phone\src\com\android\phone\CallNotifier.java中添加一個成員變量
Call.State mLastCallState = Call.State.IDLE;
然后在函數onPhoneStateChanged中的語句Phone fgPhone = mCM.getFgPhone();后添加以下代碼
Call.State ringCallState =
mCM.getRingingPhone().getRingingCall().getState();
Call.State fgCallState = mCM.getActiveFgCallState();
if ((ringCallState==Call.State.IDLE && mLastCallState.isRinging()) ||//MT
(fgCallState==Call.State.ACTIVE && mLastCallState.isDialing()))//MO
{
//here means that call is connected
final int MO_CALL_VIBRATE_TIME = 300; // msec
mVibrator.vibrate(MO_CALL_VIBRATE_TIME);
}
mLastCallState = ringCallState.isRinging() ? ringCallState:fgCallState;
mtkAndroid V4.4及之后版本:
已有此功能。
通話掛斷后:
在CallNotifier.java onDisconnect ()中
Phone.State state = mCM.getState() ;后添加如下Code
if (mVibrator == null){
mVibrator = (Vibrator)
mApplication.getApplicationContext().getSystemService(Context.VIBRATOR_SERVICE);
}
final int CALL_DISC_VIBRATE_TIME = 300; // msec
mVibrator.vibrate(CALL_DISC_VIBRATE_TIME);
感謝各位的閱讀!關于“Android中如何設置手機在通話接通和斷開時震動”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。