如何使Android应用开机时自动启动

 我来答
yangjinlong76
活跃答主

2016-04-24 · 非职业答题人
知道顶级答主
回答量:5.7万
采纳率:94%
帮助的人:1.8亿
展开全部
如果需要在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事件处理中添加下面代码
[java]
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” />
北极指路
2016-05-30 · TA获得超过867个赞
知道小有建树答主
回答量:1006
采纳率:98%
帮助的人:669万
展开全部

使Android应用开机时自动启动的步骤:

  1.     新建一个广播接收者:

    public class BootCompleteReceiver extends BroadcastReceiver {
       @Override
       public void onReceive(Context context, Intent intent) {

               startActivity(new Intent(context,MainActivity.class))
        }
    }

  2. 在清单文件AndroidManifest.xml中注册,接收开机广播

    <receiver android:name=".Activity.receiver.BootCompleteReceiver">
       <intent-filter android:priority="1000">
           <action android:name="android.intent.action.BOOT_COMPLETED"/>
       </intent-filter>
    </receiver>

  3. 在清单文件AndroidManifest.xml中添加权限

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

  4. 手机开机,接收到开机广播,就会跳转到MainActivity,从而实现了应用的开机自启动。

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
小傻

2018-07-28 · 知道合伙人软件行家
小傻
知道合伙人软件行家
采纳数:11567 获赞数:31138
已经做过两个上架的app和两个网页项目.

向TA提问 私信TA
展开全部
在主配置文件里面是有一个权限的就是开机启动的,会发送一个广播通知的
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式