我在清單文件中註冊了我的廣播接收器(如下所示)。它的工作正常。動態註冊廣播接收器
<receiver android:name="MyIntentReceiver">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
<category android:name="android.intent.category.HOME" />
</intent-filter>
</receiver>
但它保持註冊。即每當手機啓動我的應用程序啓動。但我只想要一次。
我明白,如果它是動態註冊的,我們可以實現這一點。即我們可以在onPause()或onDestroy()方法中註銷它。 如果可能的話,請給我代碼來做到這一點。我是這個新手。任何幫助,將不勝感激。謝謝。
我嘗試下面的代碼,但它是沒有用的:
public class BeforeReboot extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.beforereboot);
}
private BroadcastReceiver myBroadcastReceiver = new BroadcastReceiver()
{
@Override
public void onReceive(Context context, Intent intent) {
Intent startupBootIntent = new Intent(context,
AfterRebootDynamic.class);//new class to be launched
startupBootIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(startupBootIntent);
}
};
public void onResume() {
super.onResume();
IntentFilter filter = new IntentFilter();
filter.addAction("android.intent.action.BOOT_COMPLETED");
filter.addCategory("android.intent.category.HOME");
registerReceiver(myBroadcastReceiver, filter);
}
public void onPause() {
super.onPause();
unregisterReceiver(myBroadcastReceiver);
}
}
不創建BoradCastReceiver作爲一個內部類,而是作爲一個獨立的一個。 – 2011-04-25 09:42:34
我創建了一個獨立的BCR ..創建了它的對象,註冊並註銷了該對象..沒有工作..我做錯了.. – prijin 2011-04-25 10:19:04
因此,任何人只要給我的Java代碼爲我在標記做的。 .. –
prijin
2011-04-26 05:30:46