[计算机软件及应用]android开发
sdcard
sdcard
添加ssddccaarrdd插拔事件的监听广播
接收广播的mReceiver:
privatefinalBroadcastReceivermReceiver =newBroadcastReceiver(){
@Override
publicvoidonReceive(Contextcontext,Intentintent){
Stringaction =intent.getAction();
if(action.equals(Intent.ACTION_MEDIA_MOUNTED)
|| action.equals(Intent.ACTION_MEDIA_REMOVED)
|| action.equals(Intent.ACTION_MEDIA_BAD_REMOVAL)
|| action.equals(Intent.ACTION_MEDIA_UNMOUNTED)){
//dosomething
}
}
};
广播的注册:
IntentFilterintentFilter=newIntentFilter();
intentFilter.addAction(Intent.ACTION_MEDIA_MOUNTED);
intentFilter.addAction(Intent.ACTION_MEDIA_REMOVED);
intentFilter.addAction(Intent.ACTION_MEDIA_BAD_REMOVAL);
intentFilter.addAction(Intent.ACTION_MEDIA_UNMOUNTED);
//下面这行代码至关重要,否则注册的广播接收不到sdcard 的插拔事件
intentFilter.addDataScheme("file");
mActivity.registerReceiver(mReceiver,intentFilter);
取消广播的注册:
mActivity.unregisterReceiver(mReceiver);
android category
android category
aannddrrooiidd中的ccaatteeggoorryy
提供将要执行的action 的额外信息,一般在隐式地启动activity 时需要用到。常见的
category如下:
CATEGORY_ALTERNATIVE
设置这个activity是否可以被认为是用户正在浏览的数据的一个可选择的action
CATEGORY_APP_BROWSER
和ACTION_MAIN一起使用,用来启动浏览器应用程序
CATEGORY_APP_CALCULATOR
和ACTION_MAIN一起使用,用来启动计算器应用程序
CATEGORY_APP_CALENDAR
和ACTION_MAIN一起使用,用来启动日历应用程序
CATEGORY_APP_CONTACTS
和ACTION_MAIN一起使用,用来启动联系人应用程序
CATEGORY_APP_EMAIL
和ACTION_MAIN一起使用,用来启动邮件应用程序
CATEGORY_APP_GALLERY
和ACTION_MAIN一起使用,用来启动图库应用程序
CATEGORY_APP_MAPS
和ACTION_MAIN一起使用,用来启动地图应用程序
CATEGORY_APP_MARKET
这个activity允许用户浏览和下载新的应用程序
CATEGORY_APP_MESSAGING
和ACTION_MAIN一起使用,用来启动短信应用程序
CATEGORY_APP_MUSIC
和ACTION_MAIN一起使用,用来启动音乐应用程序
CATEGORY_BROWSABLE
能够被浏览器安全调用的activity必须支持这个category
CATEGORY_DEFAULT
设置这个activity对于默认的action是否是一个可选的
CATEGORY_EMBED