標籤:android style 檔案 io art 問題 cti div
很經常Broadcast都會寫成一個Activity或者Service的內部類。這時候的註冊和普通有點小區別。
有兩種情況1、假如是再Manifest檔案裡面靜態註冊的話,需要注意。ex:<application android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" > <receiver android:name=".MyActivity$MyReceiver" > <intent-filter> <action android:name="com.example.test.BROADCAST" /> </intent-filter> </receiver> </application> 其中關鍵點是一、 .MyActivity$MyReceiver 注意類名與內部類的名字之間用$符號隔開。二、 action裡面配的name com.example.test.BROADCAST 當配位這個時,廣播發送時 Intent intent = new Intent("com.example.test.BROADCAST"); intent.putExtra("action", "test"); sendBroadcast(intent); 要和Intent裡面的參數一致。否則將無法接受到廣播。三、 public static class MyReceiver extends BroadcastReceiver 別忘了給接收器定義成public static的,否則啟動會報錯。 2、假如為動態註冊時一般寫在OnCreate 或者 OnStart等方法裡面 IntentFilter filter = new IntentFilter(com.example.test.BROADCAST);registerReceiver(broadcastReceiver, filter);動態註冊的話就必須啟動程式後才能接受到廣播,靜態註冊就算這個程式沒啟動,也可以接收到廣播。