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

如何使Android应用开机时自动启动,第1张

注册一下开机广播,

public class BootReciver extends BroadcastReceiver {

@Override

public void onReceive(Context context, Intent intent) {

Intent mBootIntent = new Intent(context, Serviceclass);

contextstartService(mBootIntent);

}

}

然后在广播中启动自己的程序

Android手机在启动的过程中会触发一个Standard Broadcast Action,名字叫androidintentactionBOOT_COMPLETED(记得只会触发一次呀),在这里我们可以通过构建一个广播接收者来接收这个这个action下面我就来简单写以下实现的步骤:2 第一步:首先创建一个广播接收者,重构其抽象方法 onReceive(Context context, Intent intent),在其中启动你想要启动的Service或app。 import androidcontentBroadcastReceiver; import androidcontentContext; import androidcontentIntent; import androidutilLog; public class BootBroadcastReceiver extends BroadcastReceiver { //重写onReceive方法 @Override public void onReceive(Context context, Intent intent) { //后边的XXXclass就是要启动的服务 Intent service = new Intent(context,XXXclass); contextstartService(service); Logv("TAG", "开机自动服务自动启动"); //启动应用,参数为需要自动启动的应用的包名 Intent intent = getPackageManager()getLaunchIntentForPackage(packageName); contextstartActivity(intent ); } } 第二步:配置xml文件,在receiver接收这种添加intent-filter配置 <receiver android:name="BootBroadcastReceiver"> <intent-filter> <action android:name="androidintentactionBOOT_COMPLETED"></action> <category android:name="androidintentcategoryLAUNCHER" /> </intent-filter> </receiver> 第三步:添加权限 <uses-permission android:name="androidpermissionRECEIVE_BOOT_COMPLETED" /> 启动APP: 因为做一个hotkey的项目,其中有几个快捷键需要启动系统自带的browser和email。因为刚刚开始学习android,在网上找到启动browser和email的方法都是利用ACTION_VIEW和SENDTO这样的intent去启动browser和email问题来了:1如果是这样的话,启动browser需要自己预设一个网址,然后调用浏览器打开改网址。2启动email,也是需要自己设定一个账户地址,才能调用email去发送。但是我只是需要打开程序,不想设定死这些data。所以想用应用程序本身的intentfilter中的action,不方便了。想到我想要的功能就只是简单代替了点击图标来启动程序,因此从laucher中入手应该可以。去调用onClick中的方法就行了。最后实现如下:PackageManager pm = getPackageManager();Intent intent = pmgetLaunchIntentForPackage("packagename");intentaddFlags(IntentFLAG_ACTIVITY_NEW_TASK);//只要是调用系统的app,就要加上这个flag,否则会抛出异常

现在好多应用为了实时通知用户各种消息,都会加入监听系统各种状态,来启动一些后台服务进程。如果觉得不需要可以在系统设置中打开受保护的后台应用,把不需要启动的都去掉,这样黑屏后会自动关闭这些进程。还有开机自启,通知管理也把不需要的禁止了,就会好多了

Android开机启动Service,需要使用BroadcastReceiver,Android系统,开机会发送一个开机广播,可以通过BroadcastReceiver来接收开机广播。

具体代码:

1在配置文件AndroidManifestxml中向系统注册receiver

<intent-filter>

<action android:name="androidintentactionBOOT_COMPLETED" />

</intent-filter>

2需要添加相应权限

<uses-permission android:name="androidpermissionRECEIVE_BOOT_COMPLETED" />

3在Receiver中就可以添加开机需要进行的 *** 作

public class BootCompletedReceiver extends BroadcastReceiver {

@Override

public void onReceive(Context context, Intent intent) {

}

}

4执行开机后的 *** 作,Intent intent = new Intent(context,Serviceclass); contextstartService(intent); 这样即可开机启动Service了。

以MIUI系统为例来说明一下修改开机启用应用步骤:

1、打开手机系统中的安全中心应用,选择”权限管理“选项。

2、在权限管理菜单中,点击选择”自启动管理“选项。

3、在应用自启动管理页面中,选择需要启用或关闭自动启用的应用程序。

以上就是关于如何使Android应用开机时自动启动全部的内容,包括:如何使Android应用开机时自动启动、android中怎么实现app的自动启动、为什么Android手机总是自动启动各种应用等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zz/9729841.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-01
下一篇 2023-05-01

发表评论

登录后才能评论

评论列表(0条)

保存