zoukankan      html  css  js  c++  java
  • 使用BroadcastReceiver实现开机自动运行的Service

    为了让Service随应用系统启动自动运行,可以让BroadcastReceiver监听Action为ACTION_BOOT_COMPLETED常量的Intent,然后在BroadcastReceiver中启动特定的Service即可。

    import android.content.BroadcastReceiver;
    import android.content.Context;
    import android.content.Intent;
    import android.sax.StartElementListener;

    public class LaunchReceiver extends BroadcastReceiver{

      @Override
      public void onReceive(Context context, Intent intent) {
      Intent tIntent = new Intent(context, LaunchService.class);
        //启动指定Service
        context.startService(tIntent);
      }

    }

    实现自动运行的关键是要让LaunchReceiver监听系统开机发出的广播,因此需要在AndroidManifest.xml文件中采用如下代码配置该BroadcastReceiver:

    <!-- 定义一个BroadcastReceiver,监听系统开机广播 -->
    <receiver android:name=".LaunchReceiver">
      <intent-filter >
        <action android:name="android.intent.action.BOOT_COMPLETED"/>
      </intent-filter>
    </receiver>

    除此之外,为了让程序能访问系统开机事件,还需要为应用程序增加权限:

    <!-- 授予应用程序访问系统开机事件的权限 -->
    <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>

    至于程序中用到的LaunchService,则可以是用户开发的Service,既可是监听用户来电的Service,也可以是监听用户短信、拦截黑名单电话等的Service,

  • 相关阅读:
    VS2010/MFC编程入门之三(VS2010应用程序工程中文件的组成结构)
    VS2010/MFC编程入门之二(利用MFC向导生成单文档应用程序框架)
    VS2010/MFC编程入门之一(VS2010与MSDN安装过程图解)
    Getmemory问题
    计算后缀表达式
    0-1背包问题
    不抛异常的swap函数
    输出n*n矩阵
    字符串全排列输出
    判断主机字节
  • 原文地址:https://www.cnblogs.com/jiww/p/5615984.html
Copyright © 2011-2022 走看看