2011-08-06 34 views
1

我正在研究從SD卡讀取介質並播放它的應用程序。但是,當sd卡從物理上刪除設備或設備連接到計算機,並且sd卡安裝在計算機上。每當sd卡被移除時,都會生成通知並可以在通知欄中看到。我希望我的應用程序響應這些通知。例如,每當用戶物理移除卡或將其附加到計算機上時,我希望我的應用程序顯示一條消息,如「sd卡已移除」。是否有任何方法可以響應這些通知?Android:如何知道何時卸載SD卡

回答

2

我希望我的應用程序響應這些通知。

不,你不知道。您希望迴應也用於創建那些Notifications的廣播Intents

看看documentation for the Intent class,在ACTION_MEDIA_*廣播動作集。

+0

我認爲你是非常正確的..你能請詳細說明多一點。我是一個相當新手在android ..你的幫助將高度讚賞..非常感謝.. – Farhan

1

我知道問題是舊的,但我最終在這裏尋找這個代碼,所以在這裏。

在manifest.xml註冊接收器:

<receiver android:name="it.myapp.receiver.OnMediaMountedReceiver" android:enabled="true"> 
    <intent-filter> 
     <action android:name="android.intent.action.MEDIA_MOUNTED" /> 
     <data android:scheme="file"/> 
    </intent-filter> 
</receiver> 

然後創建接收器類:

public class OnMediaMountedReceiver extends BroadcastReceiver { 

private static final String TAG = OnMediaMountedReceiver.class.getSimpleName(); 

@Override 
public void onReceive(Context arg0, Intent intent) { 
    Log.i(TAG, "Media mounted!"); 
    if (intent != null && intent.getData() != null) { 
     Log.i(TAG, "Media path: " + intent.getDataString()); 
    } 
    } 
}