安卓系统开机启动项

安卓系统开机启动项,第1张

安卓系统关闭开机启动项的方法:

1、首先确保手机/平板电脑已经获取root权限,小编这里是使用百度一键root工具获取手机root权限的,打开百度一键root软件,然后在主界面触摸点击“开机自启动管理”。

2、打开开机自启动管理后,百度一键root工具会先扫描我们手机/平板电脑上安装的应用程序,并检查它们的开机启动状态。

3、扫描检查完系统安装的应用程序后,会列出我们手机/平板电脑的开机启动状态。

4、关闭开机启动项很简单,选择我们要关闭的开机启动应用程序,然后点击后面的蓝色有对勾的按钮,将其状态改变为灰色的,就表示以后开机这个应用程序就不会自动启动了。

Android系统通过应用程序自行在系统中登记注册事件(即Intent)来响应系统产生的各类消息。

例如Android实现系统开机自启动程需要在Manifest中加入如下Intent-filter及权限Uses-permission即可。

<intent-filter>

<action android:name="androidintentactionBOOT_COMPLETED"/>

(修改时候主要是去掉上面该行即可)

<category android:name="androidintentcategoryHOME" />

</intent-filter>

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

(修改时候主要是去掉上面该行即可) Android系统为应用程序管理功能提供了大量的API,可以通过API控制Intent和permission,其中

上述配置表示应用程序会响应系统产生的androidintentactionBOOT_COMPLETED(系统启动完成)信号,以此来实现应用程序自启动。当然知道上述原理后,我们就可以随心所欲的控制程序开机自启动了。具体思路如下:

一、手工方法

基于上述原理,我们可以通过对系统中已安装的程序去除其Manifest的上述配置片段来控制应用程序的对系统的响应,当然没源码可修改编译的情况下只能实现屏蔽其对有些信号的响应,例如屏蔽该程序不再开机自启动。手工方法就是利用有关工具直接在解压其APK包后,修改其Manifest的上述配置行后再打包成APK,最后安装到系统中就实现了屏蔽其自启动功能。具体相关的工具软件主要有APKTOOL。(请自己放狗去搜索下载)

二、编程实现

当然手工方法需要借助APKTOOL等工具,步骤比较法繁琐,我们可以通过自己开发来实现该功能。幸好

1、PackageManager

本类API是对所有基于加载信息的数据结构的封装,包括以下功能:

·安装,卸载应用

·查询permission相关信息

·查询Application相关信息(application,activity,receiver,service,provider及相应属性等)

·查询已安装应用

·增加,删除permission

·清除用户数据、缓存,代码段等

非查询相关的API需要特定的权限,具体的API请参考SDK文档。

2、ActivityManager相关

本类API是对运行时管理功能和运行时数据结构的封装,包括以下功能

·激活/去激活activity

·注册/取消注册动态接受intent

·发送/取消发送intent

·activity生命周期管理(暂停,恢复,停止,销毁等)

·activity task管理(前台->后台,后台->前台,最近task查询,运行时task查询)

·激活/去激活service

·激活/去激活provider等

task管理相关API需要特定的权限,具体API可参考SDK文档。

安卓手机中如何管理软件自启动呢?下面我来教大家。

首先,我们打开我们的手机,然后我们点击手机桌面上的设置;

进入设置后,我们点击电池;

然后我们点击启动管理;

d出的界面,我们可以看到很多我们手机中的软件,我们将软件的启动开关向左滑动就是关闭自启动,向右滑动打开,就是开启自启动,所以,我们根据我们的需求将一些不用的软件可以选择向左滑动关闭自启动。

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了。

安装自启动:

要做这个功能有一个前提,那就是用户的机器上已经装过相应应用,也就是说只有升级APK的时候才可以这么干,因为要执行的功能需要程序的配合。

具体步骤如下:

首先要知道程序已经安装完成,所以需要在程序中注册一个广播监听(必须是静态的,你懂的)apk安装完成的action:"androidintentactionPACKAGE_ADDED",在这个广播的onReceive方法中监听action,并通过intentgetDataString()方法判断安装程序的包名是否属于自己的包名,如果是做下一步 *** 作;

通过Intent显式或者隐式的启动你自己的程序。

建议:

  最好不要这样干,你要考虑一下用户的感受,特别是那种自动安装不需要点确认的时候,正在玩游戏、看视频、看小说、用微信你自动打开一个应用

开机自启动

android实现开机自启动可能是移动 *** 作系统中最简单的了,只需要监听一个开机启动的Broadcast(广播)即可。首先写一个Receiver(即广播监听器),继承BroadcastReceiver。

如下所示:

public class BootReceiver extends BroadcastReceiver {

private PendingIntent mAlarmSender;

@Override

public void onReceive(Context context, Intent intent) {

// 在这里干你想干的事(启动一个Service,Activity等),本例是启动一个定时调度程序,每30分钟启动一个Service去更新数据

mAlarmSender = PendingIntentgetService(context, 0, new Intent(context,

RefreshDataServiceclass), 0);

long firstTime = SystemClockelapsedRealtime();

AlarmManager am = (AlarmManager) context

getSystemService(ActivityALARM_SERVICE);

amcancel(mAlarmSender);

amsetRepeating(AlarmManagerELAPSED_REALTIME_WAKEUP, firstTime,

30 60 1000, mAlarmSender);

}

}

接下来,只需要在应用程序配置文件AndroidManifestxml中注册这个Receiver来监听系统启动事件即可

如下所示:

<receiver android:name="serviceBootReceiver">

<intent-filter>

<!-- 系统启动完成后会调用-->

<action android:name="androidintentactionBOOT_COMPLETED">

</action>

</intent-filter>

</receiver>

以上就是关于安卓系统开机启动项全部的内容,包括:安卓系统开机启动项、android怎么设置开机启动软件、安卓手机 如何管理软件自启动等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址: http://outofmemory.cn/zz/9454044.html

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

发表评论

登录后才能评论

评论列表(0条)

保存