2010-11-01 83 views

回答

0

Prey是一個開源的手機追蹤器應用程序,如果它的功能如此 - 如果你沒有得到更好的答案可以看看他們是如何做到這一點。

4

您是問鬧鐘應用程序是否可以覆蓋靜音模式,或者代碼是否可以覆蓋靜音模式?

代碼答案是肯定的,你可以通過代碼更改靜音模式設置是這樣的:

AudioManager audio = (AudioManager) mContext.getSystemService(Context.AUDIO_SERVICE); 
int currentVolume = audio.getStreamVolume(AudioManager.STREAM_RING); 
int max = audio.getStreamMaxVolume(AudioManager.STREAM_NOTIFICATION); 
audio.setRingerMode(AudioManager.RINGER_MODE_NORMAL); 
audio.setStreamVolume(AudioManager.STREAM_RING, max, AudioManager.FLAG_REMOVE_SOUND_AND_VIBRATE); 
4

我得到了另一種方式,作爲託尼的答案工作,但什麼情況會改變的輪廓想你將您的設備置於靜音模式,並且應用程序需要播放任何類似警報音的聲音,然後它會將您的配置文件更改爲靜音模式,然後再次進入靜音模式。我對嗎?

因此,另一種解決方案是,如果你想以編程方式停止播放可以播放鈴聲下面

int volume = audioManager.getStreamVolume(AudioManager.STREAM_ALARM); 
if(volume==0) 
volume = audioManager.getStreamMaxVolume(AudioManager.STREAM_ALARM); 
audioManager.setStreamVolume(AudioManager.STREAM_ALARM, volume,AudioManager.FLAG_REMOVE_SOUND_AND_VIBRATE); 
ringtone = RingtoneManager.getRingtone(getApplicationContext(), Uri.parse(ringTonePath)); 
if(ringtone!=null){ 
    ringtone.setStreamType(AudioManager.STREAM_ALARM); 
    ringtone.play(); 
    isRinging = true; 
} 

isRinging組爲標誌此代碼片段給出的,也可以通過鈴聲IsPlaying模塊()檢查停止玩

經歷了這個我沒有改變目前的配置文件,沒有更多的代碼