我正在創建一個Lock Replacement應用程序,顯然要求它有一個啓動ACTION_SCREEN_ON的活動被調用。這些都是有關我的代碼部分,以它:接收到ACTION_SCREEN_ON後活動不會啓動
public class StartupBroadcastReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
Intent startupIntent = new Intent(context, Lockdown.class); // substitute with your launcher class
startupIntent.addCategory(Intent.CATEGORY_HOME);
startupIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(startupIntent);
}
}
由於ACTION_SCREEN_ON不能從清單被稱爲我的主要活動動態註冊它。
這是在(鎖定)
IntentFilter filter = new IntentFilter (Intent.ACTION_SCREEN_ON);
BroadcastReceiver mReceiver = new StartupBroadcastReceiver();
registerReceiver(mReceiver, filter);
任何幫助,高度讚賞我的主類的我的onCreate功能。
但是,只有當用戶手動啓動您的活動時,纔會註冊您的IntentFilter,並且一旦您的活動暫停,它將被取消註冊 - logcat可能會警告您,我泄漏了一個接收器實例。 – 2010-01-03 11:18:17
或者,也許我不明白SCREEN_ON在哪種情況下被解僱。 :)無論如何,你也可以嘗試添加CATEGORY_DEFAULT到你的過濾器。您也可以檢查logcat,看看您是否缺少權限。 – 2010-01-03 11:22:58
我的接收器工作正常,我添加了一個Toast通知,看看它是否在屏幕出現時提醒我的接收器,它可以是許可證,我必須看看這個。 – Honzo 2010-01-03 18:43:57