android開發(fā)教程之卸載sd卡對MediaServer的處理
更新時間:2014年02月17日 09:55:23 作者:
Android中如果MediaServer訪問SD卡上的音頻文件,卸載SD卡的時候,就會kill掉MediaServer,卸載SD卡上必要條件就是沒有進程訪問SD卡上的資源文件。Kill掉MediaServer的進程后,MediaServer會重新啟動。
下面這段代碼是android中Music中的處理代碼:
復制代碼 代碼如下:
MediaPlayer.OnErrorListener errorListener = new MediaPlayer.OnErrorListener() {
public boolean onError(MediaPlayer mp, int what, int extra) {
switch (what) {
case MediaPlayer.MEDIA_ERROR_SERVER_DIED:
mIsInitialized = false;
mCurrentMediaPlayer.release();
mCurrentMediaPlayer = new CompatMediaPlayer();
mCurrentMediaPlayer.setWakeMode(MediaPlaybackService.this, PowerManager.PARTIAL_WAKE_LOCK);
mHandler.sendMessageDelayed(mHandler.obtainMessage(SERVER_DIED), 2000);
return true;
default:
Log.d("MultiPlayer", "Error: " + what + "," + extra);
break;
}
return false;
}
};
簡單來看,就是遇到MediaServer died這種情況,就release掉原來的MediaPlayer,然后重新創(chuàng)建一個MediaPlayer(會在MediaServer重新啟動后關聯起來)。然后可以根據原來的狀態(tài)做相應的動作。
相關文章
Android編程之客戶端通過socket與服務器通信的方法
這篇文章主要介紹了Android編程之客戶端通過socket與服務器通信的方法,結合實例形式分析了Android基于socket通訊的具體步驟與相關使用技巧,具有一定參考借鑒價值,需要的朋友可以參考下2015-11-11Android 系統(tǒng)實現多種開機動畫和logo切換功能
這篇文章主要介紹了android 系統(tǒng)實現多種開機動畫和logo切換功能,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下2018-12-12