2015-11-23 148 views
2

我想開發一個Android鎖屏應用程序,我完成了除一個之外的所有功能。Android鎖定屏幕,當手機重新啓動

當手機重新啓動,則顯示主屏幕,但是我想表明我的鎖屏的應用程序,所以我增加了以下廣播接收器:

<receiver android:enabled="true" android:name="receiver.LockScreenReceiver"> 
    <intent-filter android:priority="999"> 
     <action android:name="android.intent.action.BOOT_COMPLETED"/> 
     <action android:name="com.htc.intent.action.QUICKBOOT_POWERON"/> 
     <action android:name="android.intent.action.MY_PACKAGE_REPLACED"/> 
    </intent-filter> 
</receiver> 

,並在onreceive()方法,我開始一個活動。當手機重新啓動後,我的鎖屏應用程序會在5-10秒後打開,但我想在手機重新啓動時顯示我的應用程序。

我找不到任何解決方案。我看到很多鎖屏應用程序,它們的打開時間最多延遲5-10秒。

我找到了一個應用程序 - Next lock screen。有用。它在重新啓動電話後第一次打開。

+0

接收器很好,但接收器的實現在哪裏? –

+0

@Override \t公共無效的onReceive(上下文範圍內,意圖意圖){ \t \t如果(intent.getAction()。等於(Intent.ACTION_SCREEN_OFF) \t \t \t \t || intent.getAction()。等於(意向。 。ACTION_SCREEN_ON) \t \t \t \t || intent.getAction()等於(Intent.ACTION_BOOT_COMPLETED)){ \t \t \t start_lockscreen(上下文); \t \t} \t} \t //顯示鎖定屏幕 \t私人無效start_lockscreen(上下文上下文){ \t \t意圖mIntent =新意圖(上下文,LockScreenActivity.class); \t \t mIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); \t \t context.startActivity(mIntent); \t} –

回答

0

這可以增加你的優先權,但仍然會有一些延遲。由於android首先加載它的操作系統,並開始所有其他活動。

<receiver 
    android:name="receiver.LockScreenReceiver" 
    android:enabled="true" 
    android:exported="true" 
    <intent-filter android:priority="1000"> 
     <action android:name="android.intent.action.BOOT_COMPLETED" /> 
    </intent-filter> 
</receiver> 
+0

根據android文檔優先範圍是0-999 –

相關問題