我已閱讀有關此事的主題,但所有這些內容都是關於在屏幕鎖定或解鎖時啓動活動。但是,無論屏幕是否被鎖定,我都需要我的程序啓動新的活動。Android如何開始新的活動屏幕鎖定?
我正在使用GPS和接近警報來檢查何時到達目的地。 我的活動註冊一個ProximityAlertReceiver使得:
private class ProximityAlertReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
String key = LocationManager.KEY_PROXIMITY_ENTERING;
Boolean entering = intent.getBooleanExtra(key, false);
if (entering) {
System.out.println("You have entered the proximity area");
} else {
System.out.println("You have exited the proximity area");
}
Bundle bundle = intent.getExtras();
int status = bundle.getInt("status");
Intent i = new Intent();
i.setClass(context, MEcheScreen.class);
Bundle bundle1 = new Bundle();
bundle1.putInt("status", status);
i.putExtras(bundle1);
i.setFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);
context.startActivity(i);
}
}
所以,當我接近火災警報,新的活動將啓動。
我正在使用public void onNewIntent(Intent newIntent) {}
方法來處理何時啓動新的活動。
所以,問題是,當屏幕被鎖定並且接近警報被觸發時,ProximityAlertReceiver類中的Intent不會啓動。
我試圖使用keyguardmanager來禁用鍵盤鎖。但是,在禁用之後,它會返回到程序的主屏幕,但在按下按鈕或點擊屏幕之前,活動仍未啓動。
來不及檢查,做到了工作,我的活動被稱爲(因爲我設置了中斷點來檢查),但屏幕沒有打開,或者鍵盤被解鎖。 – 2016-07-26 19:44:14