Android实现开机自启动某个程序
16lz
2021-01-26
使用场景:手机开机后,自动运行程序,在屏幕上显示”Hello. I started!”字样。
背景知识:当Android手机启动时,会发出一个系统广播,叫做:ACTION_BOOT_COMPLETED,它的字符串表示常量为android.intent.action.BOOT_COMPLETED。所以只要在开始时程序中捕获这个广播消息,一切就好办了。
代码如下:
1、界面代码,
package com.andy.zhu;import android.os.Bundle;import android.view.View;import android.widget.Button;import android.widget.TextView;import android.app.Activity;import android.content.Intent;public class MainActivity extends Activity{ private Button button_test_service; private Intent intent; private Button button_stop; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); TextView tv = new TextView(this); tv.setText("hello started"); setContentView(tv); } }
2、接受广播消息,所以新建一个类,并继承BroadcastReceiver
package com.andy.zhu;import android.app.Service;import android.content.BroadcastReceiver;import android.content.Context;import android.content.Intent;import android.content.pm.PackageManager;import android.util.Log;public class BootRestartReceiver extends BroadcastReceiver{ private final String ACTION = "android.intent.action.BOOT_COMPLETED"; @Override public void onReceive(Context context, Intent intent) { // TODO Auto-generated method stub if (intent.getAction().equals(ACTION)); { Intent intent2 = new Intent(context, MainActivity.class); intent2.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); context.startActivity(intent2); Log.d("DEBUG", "开机自动服务自动启动..."); //Intent intentService = new Intent(); //intentService.setClass(context, MyService.class); //context.startService(intentService); } }}
代码都很简单。重写onReceiver方法,实现要实现的功能就行了。
3、配置menifest.xml文件
<?xml version="1.0" encoding="utf-8"?>
同类热门经验
- 上百个Android开源项目分享
更多相关文章
- ROOT android 原理 基于(zergRush)
- 第一章:第一行android代码注解(4)
- Android隐藏输入法软键盘时无法影藏的问题
- Android(安卓)BroadcastReceiver 的生命周期及实际应用
- Android(安卓)如何在strings.xml中放置html文本
- 7.Android(安卓)Preferences的使用
- Android两行代码搞定ViewPager的过渡动画
- Android(安卓)proguard.flags
- ROOT android 原理。 基于(zergRush)