我正在开发一个从SD卡中读取媒体并播放它的应用程序..但是,当SD卡从设备中物理移除或设备连接到计算机和SD时,有某些事件-card安装在计算机上。每当移除SD卡时,都会生成通知,并可在通知栏中看到。我希望我的应用程序响应这些通知。例如,每当用户物理移除卡或将其附加到计算机时,我希望我的应用程序显示“sd card removed”之类的消息..有没有办法回应这些通知?
答案 0 :(得分:2)
我希望我的应用程序回复这些通知。
不,你没有。您想要回复广告Intents
,广播Notifications
也用于创建ACTION_MEDIA_*
。
在{{1}}广播操作集中查看documentation for the Intent
class。
答案 1 :(得分: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());
}
}
}