【步骤一】首先要有一个用于开机启动的Activity,这里以系统自己创建的最简单的Activity为例进行讲解。
public class BootTestActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
}
【步骤二】我们要编写一个BroadcastReceiver用以捕获ACTION_BOOT_COMPLETED这条广播,并在捕获之后启动我们要启动的Activity。
public class BootCompletedReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
if (intent.getAction().equals(Intent.ACTION_BOOT_COMPLETED))
{
Intent newIntent = new Intent(context, BootTestActivity.class);
newIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); //注意,必须添加这个标记,否则启动会失败
context.startActivity(newIntent);
}
}
}
注意:必须在intent中添加Intent.FLAG_ACTIVITY_NEW_TASK标记,这就是我之前老是启动失败的原因。至于为什么,我还在研究SDK doc,明白了之后就回来补上。
【步骤三】在AndroidManifest.xml配置文件中注册我们的BroadcastReceiver
<receiver android:name=".BootCompletedReceiver">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
</intent-filter>
</receiver>
【步骤四】在AndroidManifest.xml配置文件中添加允许我们捕获该广播的权限
<!-- permissions -->
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
分享到:
相关推荐
android开机启动Activity/Service/App的三合一demo,本人写了一个小小demo,把如果开机自启动Activity、Service、APP写了下,欢迎下载。
android开机启动指定的应用 浏览器 Activity
还是做成一个 apk 吧,暂定只写一个 service 并开机自动启用,无 activity 的。 Java 中调用 native 程序我选择使用 JNI 方式,直接在 JNI_OnLoad 方法中调用 pthread_create 创建个线程跑原来的 main 就行啦。 ...
开机启动一个一个Activity,并发出一个通知
安卓应用开机启动功能的演示示例,原理:当Android系统完成BOOT阶段之后,就会发送一条名为 ACTION_BOOT_COMPLETED 的广播,我们便可在一个BroadcastReceiver中捕获这条广播,然后启动我们的Activity或者Service!
开机自启动activity和service,得到关机消息,无界面显示
完整DEMO,一个Activity,一个broadcast,一个service 程序最少在手机上运行一次,手机重启也可以启动服务
里面涉及到执行Root命令、获取Android开机启动列表、启用主Activity,开启开机自动运行、禁用360进程与服务、动态创建一个优先级最高的短信广播接收者、动态创建一个关机广播接收者。以下分别说明三者的实现: 短信...
一个开机自动启动的ActivityDemo,4.0完美运行
如果开机启动一个Activity,开机首先看的界面,是你的程序界面,如果为了,开机后也启动你的程序,但是不显示自己程序的界面,就要用Service服务,下面是开机启动服务service示例
2.开机启动 具体代码 1.开启热点 [java] view plaincopy在CODE上查看代码片派生到我的代码片 WifiManager wifiManager; wifiManager = (WifiManager) getSystemService(Context.WIFI_SERVICE); Method method = ...
开机自启动服务,暂时先开机启动一个Activity,在其中开启服务后finish掉。经测试,百度云4.0,小米4.1系统可以用,2.3系统可以。http://blog.csdn.net/joychine/article/details/10947819
背景知识:当Android启动时,会发出一个系统广播,内容为ACTION_BOOT_COMPLETED,它的字符串常量表示为 android.intent.action.BOOT_COMPLETED。只要在程序中“捕捉”到这个消息,再启动之即可。记住,Android框架说...
想下就下 别闲贵 谢谢 就一个广播
在Android中每个界面都是一个Activity,切换界面操作其实是多个不同Activity之间的实例化操作。本文给大家介绍Android中Activity的四种启动模式,需要的朋友参考下吧
1、startService开启服务以后,与activity就没有关联,不受影响,独立运行,...2、bindService开启服务以后,与activity存在关联,退出activity时必须调用unbindService方法关闭,否则会报ServiceConnection泄漏的错误.
因此,app的性能优化还是很重要且很有必要的,我接下来会总结一下Android性能优化的一些相关技术和知识,这篇博客主要总结一下启动优化。 一、前言 在我总结启动优化之前,我先说些题外话。可能有很多朋友,工