天天看點

開機啟動 并去鎖屏

如果需要在Android開機時自動啟動應用程式,可以通過響應android.intent.action.BOOT_COMPLETED廣播消息來實作, Android系統啟動結束時,會發出 android.intent.action.BOOT_COMPLETED 消息。 具體步驟如下:

1. 定義一個Broadcast Receiver ,比如:BootupReceiver

[java]

public class BootupReceiver extends BroadcastReceiver{ 

 @Override 

 public void onReceive(Context context, Intent intent) { 

 //better delay some time.  

 try { 

 Thread.sleep(2000); 

 } catch (InterruptedException e) { 

 // TODO Auto-generated catch block  

 e.printStackTrace(); 

 } 

 Intent i = new Intent(context, BootupDemoActivity.class); 

 i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 

 context.startActivity(i); 

public class BootupReceiver extends BroadcastReceiver{

 @Override

 public void onReceive(Context context, Intent intent) {

 //better delay some time.

 try {

 Thread.sleep(2000);

 } catch (InterruptedException e) {

 // TODO Auto-generated catch block

 e.printStackTrace();

 }

 Intent i = new Intent(context, BootupDemoActivity.class);

 i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

 context.startActivity(i);

}

用于響應android.intent.action.BOOT_COMPLETED。

2. 在Manifest檔案中定義該Broadcast Receiver

<receiver android:name=”.BootupReceiver” android:enabled=”true”

android:permission=”android.permission.RECEIVE_BOOT_COMPLETED”>

<intent-filter>

<action android:name=”android.intent.action.BOOT_COMPLETED”></action>

<category android:name=”android.intent.category.DEFAULT” />

</intent-filter>

</receiver>

3. 加上所需權限

<uses-permission android:name=”android.permission.RECEIVE_BOOT_COMPLETED” />

這些,但手機重新開機示會自動運作你的應用。 不過此時你的應用可能會被螢幕鎖定擋住。解除螢幕鎖定後可以看到你運作的應用。

如果想使用者一開機就看到你的應用,可以使用代碼就螢幕鎖去除,方法如下:

1. 在Activity的onCreate事件進行中添加下面代碼

KeyguardManager keyguardManager 

= (KeyguardManager)getSystemService(KEYGUARD_SERVICE); 

KeyguardLock lock = keyguardManager.newKeyguardLock(KEYGUARD_SERVICE); 

lock.disableKeyguard(); 

KeyguardManager keyguardManager

= (KeyguardManager)getSystemService(KEYGUARD_SERVICE);

KeyguardLock lock = keyguardManager.newKeyguardLock(KEYGUARD_SERVICE);

lock.disableKeyguard();

2. 在Manifest檔案中添加所需權限

<uses-permission android:name=”android.permission.DISABLE_KEYGUARD” />

開機啟動 并去鎖屏

繼續閱讀