編輯:Android開發實例
Android的實際開發項目當中難免會遇到SD卡的插拔的監聽事件檢測,現在我們一起來看下安卓開發當中應用廣播的知識,記錄下來,以備後用哦。
1. 如果是單個Activity監聽廣播,則在Activity的onCreate方法裡面,用下面的代碼注冊廣播
IntentFilter iFilter = new IntentFilter();
iFilter.addAction(Intent.ACTION_MEDIA_EJECT);
iFilter.addDataScheme("file");
registerReceiver(mBroadcastReceiver , iFilter);
2. 如果是整個程序監聽廣播,則在Android manifest用下面的方法注冊廣播
<receiver android:name=".activities.widget.UsbBroadCastReceiver">
<intent-filter android:priority="1000">
<action android:name="android.intent.action.MEDIA_MOUNTED"/>
<action android:name="android.intent.action.MEDIA_EJECT" />
<data android:scheme="file"/>
</intent-filter>
</receiver>
3. 如果廣播別別的程序截獲,導致你無法收到廣播,給intent-filter加上一個android:priority="1000"的屬性就行,添加位置,參照上面的代碼。
4. 實際項目裡面是整個程序監聽廣播,
①Android Manifest的代碼如下:
<receiver android:name=".activities.widget.UsbBroadCastReceiver">
<intent-filter android:priority="1000">
<action android:name="android.intent.action.MEDIA_MOUNTED"/>
<action android:name="android.intent.action.MEDIA_EJECT" />
<data android:scheme="file"/>
</intent-filter>
</receiver>
Android Manifest一定要在intent-filter注意加上<data android:scheme=”file”>,否則無法監聽到SD卡插拔廣播,如果你在Activity裡面用代碼注冊廣播,那一定要加iFilter.addDataScheme("file")
②廣播的代碼如下:
/**
* @author Anonymous
* @createDate 2012-4-9
* @version v0.5.1
*/
public class UsbBroadCastReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
String action = intent.getAction();
if(action.equals(Intent.ACTION_MEDIA_EJECT)){
ToastUtil.ToastShort(context, R.string.usb_sdeject);
}else if(action.equals(Intent.ACTION_MEDIA_MOUNTED)){
ToastUtil.ToastShort(context, R.string.usb_sdconnect);
}
}
}
在java中可有兩種方式實現多線程,一種是繼承Thread類,一種是實現Runnable接口;Thread類是在java.lang包中定義的。一個類只要繼承了Th
效果: http://www.56.com/u82/v_OTM4MDk5MTk.html第一步: 創建anim文件夾放置動畫xml文件在res文件夾下,
微信平台開放後倒是挺火的,許多第三方應用都想試下,畢竟可以利用微信建立起來的關系鏈來拓展自己的應用還是挺不錯的,可以節約很多在社交方面的開銷,我最近由於實習需要也
有時我們需要應用在Android設備開機時自動運行,就像Windows系統中的很多程序一樣