如果需要在Android开机时自动启动应用程序,可以通过响应android.intent.action.BOOT_COMPLETED广播消息来实现:
定义一个Broadcast Receiver
定义一个Broadcast Receiver
public class MyBroadCast extends BroadcastReceiver{
@Override
public void onReceive(Context context, Intent intent) {
Intent intent1 = new Intent(context, MainActivity.class);
intent1.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(intent1);
}
}
在Manifest文件中定义该Broadcast Receiver:
<uses-permission android:name=”android.permission.DISABLE_KEYGUARD” />
在Manifest文件中定义该Broadcast Receiver:
<receiver
android:name="com.ld.test.MyBroadCast"
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"></category>
</intent-filter>
</receiver>
加上所需权限
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
**********************************************************************************
手机重启就会自动运行你的应用。 不过此时你的应用可能会被屏幕锁定挡住。解除屏幕锁定后可以看到你运行的应用。如果想用户一开机就看到你的应用,可以使用代码就屏幕锁去除,方法如下:
1. 在Activity的onCreate事件处理中添加下面代码:
2. 在Manifest文件中添加所需权限加上所需权限
<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();
<uses-permission android:name=”android.permission.DISABLE_KEYGUARD” />