android 启动app怎么设置app开机自启

当前位置:>>>开机自启动管理
开机自启动管理 app官方介绍
开机自启动管理 类型:
热门排行榜
9000万+人在玩9000万+人在玩5000万+人在玩500万+人在玩1000万+人在玩10万+人在玩
开机自启动管理
app相关推荐
发现该应用有下载安装使用错误或恶意扣费携带病毒,请
版权所有 京ICP备号-5
京公网安备 50 备Android开机自启动程序设置及控制方法
我的图书馆
Android开机自启动程序设置及控制方法
Android系统通过应用程序自行在系统中登记注册事件(即Intent)来响应系统产生的各类消息。
例如Android实现系统开机自启动程需要在Manifest中加入如下Intent-filter及权限Uses-permission即可。
&&& &intent-filter&&&
&&&&&&& &action android:name="android.intent.action.BOOT_COMPLETED"/&&&
(修改时候主要是去掉上面该行即可)
&&&&&&& &category android:name="android.intent.category.HOME" /&&&
&&& &/intent-filter&&&
&uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/&&&&
(修改时候主要是去掉上面该行即可) Android系统为应用程序管理功能提供了大量的API,可以通过API控制Intent和permission,其中
上述配置表示应用程序会响应系统产生的android.intent.action.BOOT_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文档。
利用上述API原理的具体代码俺有空时候试试实现一个,应该不难的,都是调用现成的API实现。目前发现已有的控制开机自启动的成熟应用程序主要是autostarts,可自己安装一个试试,挺好用,实际上autostart有点名不副实,如果是我就会起个名字叫Intentcontrol,因为其不只是控制开机启动信号,它可以控制程序对大部分信号的响应行为。
三、系统自带工具
Android自带了1、程序包管理工具:/system/bin/pm& 2、activity管理工具:/system/bin/am
具体用法大致说明如下:
pm的使用方法可以参考
usage: pm [list|path|install|uninstall]
&&&&&& pm list packages [-f]
&&&&&& pm list permission-groups
&&&&&& pm list permissions [-g] [-f] [-d] [-u] [GROUP]
&&&&&& pm list instrumentation [-f] [TARGET-PACKAGE]
&&&&&& pm list features
&&&&&& pm path PACKAGE
&&&&&& pm install [-l] [-r] [-t] [-i INSTALLER_PACKAGE_NAME] PATH
&&&&&& pm uninstall [-k] PACKAGE
&&&&&& pm enable PACKAGE_OR_COMPONENT
&&&&&& pm disable PACKAGE_OR_COMPONENT
The list packages command prints all packages.& Options:
& -f: see their associated file.
The list permission-groups command prints all known
permission groups.
The list permissions command prints all known
permissions, optionally only those in GROUP.& Options:
& -g: organize by group.
& -f: print all information.
& -s: short summary.
& -d: only list dangerous permissions.
& -u: list only the permissions users will see.
The list instrumentation command prints all instrumentations,
or only those that target a specified package.& Options:
& -f: see their associated file.
The list features command prints all features of the system.
The path command prints the path to the .apk of a package.
The install command installs a package to the system.& Options:
& -l: install the package with FORWARD_LOCK.
& -r: reinstall an exisiting app, keeping its data.
& -t: allow test .apks to be installed.
& -i: specify the installer package name.
The uninstall command removes a package from the system. Options:
& -k: keep the data and cache directories around.
after the package removal.
The enable and disable commands change the enabled state of
a given package or component (written as "package/class").
am的使用方法可以参考
usage: am [subcommand] [options]
&&& start an Activity: am start [-D] &INTENT&
&&&&&&& -D: enable debugging
&&& send a broadcast Intent: am broadcast &INTENT&
&&& start an Instrumentation: am instrument [flags] &COMPONENT&
&&&&&&& -r: print raw results (otherwise decode REPORT_KEY_STREAMRESULT)
&&&&&&& -e &NAME& &VALUE&: set argument &NAME& to &VALUE&
&&&&&&& -p &FILE&: write profiling data to &FILE&
&&&&&&& -w: wait for instrumentation to finish before returning
&&& start profiling: am profile &PROCESS& start &FILE&
&&& stop profiling: am profile &PROCESS& stop
&&& &INTENT& specifications include these flags:
&&&&&&& [-a &ACTION&] [-d &DATA_URI&] [-t &MIME_TYPE&]
&&&&&&& [-c &CATEGORY& [-c &CATEGORY&] ...]
&&&&&&& [-e|--es &EXTRA_KEY& &EXTRA_STRING_VALUE& ...]
&&&&&&& [--ez &EXTRA_KEY& &EXTRA_BOOLEAN_VALUE& ...]
&&&&&&& [-e|--ei &EXTRA_KEY& &EXTRA_INT_VALUE& ...]
&&&&&&& [-n &COMPONENT&] [-f &FLAGS&] [&URI&]
/cmdn/wiki/index.php?edition-view-4742-1.html
TA的最新馆藏
喜欢该文的人也喜欢20:44 提问
android怎么设置app开机自启呢? 急急急。。。。。。。。。。。。
public class StartUpReceiver extends BroadcastReceiver {
public void onReceive(Context context, Intent intent) {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
Intent intent2=new Intent(context,MainActivity.class);
intent2.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(intent2);
清单文件:
android:name=".service.StartUpReceiver"
android:enabled="true"
android:permission="android.permission.RECEIVE_BOOT_COMPLETED"&&
&!--权限..--&
怎么回事 还是启动不了?
按赞数排序
public class StartUpReceiver extends BroadcastReceiver
PackageManager packageM
public void onReceive(Context context, Intent intent) {
Intent intent2=new Intent(context,MainActivity.class);
intent2.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(intent2);
packageManager=context.getPackageManager();
Intent intents = packageManager.getLaunchIntentForPackage("这里写你的包名");
context.startActivity(intents);
终于弄好了 经测验
手机 模拟器 都可以
android:name=".StartUpReceiver"&
&!-- 系统启动完成后会调用 --&
android:name="android.intent.action.BOOT_COMPLETED"&
清单文件配置对了?
android:name=".StartUpReceiver"&
&!-- 系统启动完成后会调用 --&
android:name="android.intent.action.BOOT_COMPLETED"&
居然没显示
第一步:首先创建一个广播接收者,重构其抽象方法 onReceive(Context context, Intent intent),在其中启动你想要启动的Service或app。
import android.content.BroadcastR
import android.content.C
import android.content.I
import android.util.L
public class BootBroadcastReceiver extends BroadcastReceiver {
//重写onReceive方法
public void onReceive(Context context, Intent intent) {
//后边的XXX.class就是要启动的服务
Intent service = new Intent(context,XXXclass);
context.startService(service);
Log.v("TAG", "开机自动服务自动启动.....");
//启动应用,参数为需要自动启动的应用的包名
Intent intent = getPackageManager().getLaunchIntentForPackage(packageName);
context.startActivity(intent );
第二步:配置xml文件,在receiver接收这种添加intent-filter配置
第三步:添加权限
其他相关推荐51CTO还有以下内容可能满足您的需求}

我要回帖

更多关于 android app启动白屏 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信