2011-03-22 68 views
1

我已閱讀有關此事的主題,但所有這些內容都是關於在屏幕鎖定或解鎖時啓動活動。但是,無論屏幕是否被鎖定,我都需要我的程序啓動新的活動。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來禁用鍵盤鎖。但是,在禁用之後,它會返回到程序的主屏幕,但在按下按鈕或點擊屏幕之前,活動仍未啓動。

+0

來不及檢查,做到了工作,我的活動被稱爲(因爲我設置了中斷點來檢查),但屏幕沒有打開,或者鍵盤被解鎖。 – 2016-07-26 19:44:14

回答

0

也許你應該解僱的通知,而不是(帶聲音和閃爍的燈光,甚至在必要時),從該活動可以推出。如果用戶想要的,這似乎做正確的事..

+0

不需要。當到達鄰近區域時,接近警報觸發,從而創建新的活動。然後,該近似警報將被丟棄,並創建另一個警報。這必須由程序自動完成。 – Petar 2011-03-22 18:55:39

0

一對夫婦的需要的東西......

在reciever

在活動的onCreate開展活動

intenet.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK) 

時添加下面添加

KeyguardManager mKeyGuardManager = (KeyguardManager)getSystemService(KEYGUARD_SERVICE); 
KeyguardLock mLock = mKeyGuardManager.newKeyguardLock("name of my app"); 
mLock.disableKeyguard(); 

這個工作對我來說在在設備啓動lauched的應用

我也再惹

Settings.System.getInt(cr,Settings.System.SCREEN_OFF_TIMEOUT,0); 

但那是另一回事

+1

正如我在我的問題中所說的,我已經在使用disableKeyguard()函數。但是,會發生的情況是,鍵盤是禁用的,沒問題,但是當屏幕變黑時(通過按手機上的關閉按鈕或通過一些空閒時間)以及當手機處於鄰近區域時,活動沒有開始。它只在我使手機處於活動狀態時(通過按任意按鈕)纔開始。添加FLAG_ACTIVITY_NEW_TASK標誌不能解決問題,並且該活動仍未啓動。 – Petar 2011-03-22 18:53:18

相關問題