zoukankan      html  css  js  c++  java
  • Android 开发工具类 33_开机自运行

    原理:该类派生自 BroadcastReceiver,重载方法 onReceive ,检测接收到的 Intent 是否符合 BOOT_COMPLETED,如果符合,则启动用户Activity。

     1 import android.content.BroadcastReceiver;
     2 import android.content.Context;
     3 import android.content.Intent;
     4 
     5 public class BootBroadcastReceiver extends BroadcastReceiver {
     6 
     7   static final String ACTION = "android.intent.action.BOOT_COMPLETED";
     8  
     9   @Override
    10   public void onReceive(Context context, Intent intent) {
    11   
    12     if (intent.getAction().equals(ACTION)){
    13       Intent mainActivityIntent = new Intent(context, MainActivity.class);
    14       mainActivityIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    15       context.startActivity(mainActivityIntent);
    16     }
    17   }
    18 }

    配置文件:AndroidManifest.xml

    1  <receiver android:name=".BootBroadcastReceiver">
    2   <intent-filter>
    3     <action android:name="android.intent.action.BOOT_COMPLETED" />
    4    </intent-filter>
    5   </receiver>

    向系统注册了一个receiver,子节点 intent-filter 表示接收 android.intent.action.BOOT_COMPLETED消息。

    添加权限

    <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"></uses-permission>

    【注】在多数情况下,要自动运行的不是有界面的程序,而是在后台运行的service。此时,就要用 startService 来启动相应的 service了。

  • 相关阅读:
    用表组织数据
    SQL Server 2008创建数据库
    c#字符串常用方法
    属性升级介绍
    c#语法
    初识C#
    CSS动画
    YCSB性能测试工具使用
    高性能的Redis代理TwemProxy
    JVM垃圾回收总结
  • 原文地址:https://www.cnblogs.com/renzimu/p/4608368.html
Copyright © 2011-2022 走看看