建立好了工程項目以後,定義一個廣播類,繼承自BroadcastReceiver,這個類得做用就是捕捉到系統發出的消息之後作的事情代碼都寫在這個類裏面,捕捉系統消息只需只需在AndroidManifest.xml文件中添加兩個元素就能夠。 Java NIO框架Mina、Netty、Grizzly介紹與對比html
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.fly" android:versionCode="1" android:versionName="1.0">
<application android:icon="@drawable/icon" android:label="@string/app_name">
<activity android:name=".BootSayHello" android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<receiver android:name=".BootReceiver">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
</intent-filter>
</receiver>
</application>
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"></uses-permission>
<uses-sdk android:minSdkVersion="7" />
</manifest>java
這是所有的xml文件,intent-filter用於過濾須要捕捉什麼類型的系統消息,<receiver android:name=".BootReceiver"> 這句是本身定義的廣播類得類名,最後,還要取得權限容許捕捉系統消息<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"></uses-permission> 這句話就這個意思。
再回到剛纔定義的繼承自BroadcastReceiver類: android
public class BootBroadcastReceiver extends BroadcastReceiver {
public static final String ACTION = "android.intent.action.BOOT_COMPLETED";
@Override
public void onReceive(Context context, Intent intent) {
// TODO Auto-generated method stub
if (intent.getAction().equals(ACTION)) {
Log.d("TAG","ok");
}
}
}
app