Android 监听系统启动完毕事件

转载 2012年03月21日 09:36:24
 

For some applications, you will need to have your service up and running when the device is started, without user intervention. Such applications mainly include monitors (telephony, bluetooth, messages, other events). At least this feature is currently allowed by the exaggeratedly restrictive Android permissions policy.

Step 1: First you'll need to create a simple service, defined in Monitor.java:

public class Monitor extends Service { 
 
private static final    String              LOG_TAG = "::Monitor"; 
 
@Override 
public void onCreate() { 
    super.onCreate(); 
    Log.e(LOG_TAG, "Service created."); 
} 
 
@Override 
public void onStart(Intent intent, int startId) { 
    super.onStart(intent, startId); 
    Log.e(LOG_TAG, "Service started."); 
} 
@Override 
public void onDestroy() { 
       super.onDestroy(); 
       Log.e(LOG_TAG, "Service destroyed."); 
} 
 
@Override 
public IBinder onBind(Intent intent) { 
    Log.e(LOG_TAG, "Service bind."); 
    return null; 
} 

}

Step 2: Next we need to create a Broadcast receiver class, StartAtBootServiceReceiver.java:

  public class StartAtBootServiceReceiver extends BroadcastReceiver 
    { 
  private static final  String  LOG_TAG=StartAtBootServiceReceiver"; 
  @Override 
  public void onReceive(Context context, Intent intent) 
  { 
        Log.e(LOG_TAG, "onReceive:"); 
     if (intent.getAction().equals(Intent.ACTION_BOOT_COMPLETED)) { 
        Intent i = new Intent(); 
        i.setAction("test.package.Monitor"); 
        context.startService(i); 
    } 
} 

}

Step 3: Finally, your AndroidManifest.xml file must contain the following:

 <?xml version="1.0" encoding="utf-8"?> 
 <manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="test.package.Monitor" 
    android:versionName="1.0" 
    android:versionCode="100" 
    android:installLocation="internalOnly"> 
    <supports-screens android:smallScreens="true" android:normalScreens="true" android:largeScreens="true" android:anyDensity="true" /> 
 
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"></uses-permission> 
 
<uses-sdk android:minSdkVersion="7" android:targetSdkVersion="8"/> 
 
<application android:icon="@drawable/icon" android:label="@string/app_name"> 
    <service android:name="test.package.Monitor">** 
        <intent-filter> 
            <action android:name="test.package.Monitor"> 
            </action> 
        </intent-filter> 
    </service> 
    <receiver android:name="test.package.StartAtBootServiceReceiver"> 
        <intent-filter> 
            <action android:name="android.intent.action.BOOT_COMPLETED"> 
            </action> 
            <category android:name="android.intent.category.HOME"> 
            </category> 
        </intent-filter> 
    </receiver> 
</application> 

I need to highlight some of the most important aspects, key factors for possible errors in implementation:
1) The permission android.permission.RECEIVE_BOOT_COMPLETED must be provided (in the manifest xml)
2) The installation must be performed in internal storage, not on SDCARD! To enforce this use android:installLocation="internalOnly" in the manifest

android activity监听加载完毕事件

很多人想在某个activity加载完所有布局文件或数据时候,自动进行下一步操作,但是很多时候都不能成功!总是抛这个错误那个错误,说activity尚未加载完毕,android 提供了个很好的方法为我们...
  • myweishanli
  • myweishanli
  • 2014年11月09日 11:44
  • 1115

Android 监听系统启动完毕事件

For some applications, you will need to have your service up and running when the device is started,...
  • ultrapro
  • ultrapro
  • 2012年03月21日 09:36
  • 780

Android 实现监听开机启动开启后台服务,并实现自动重启。

1.创建广播监听器,继承BroadcastReceiver import android.content.BroadcastReceiver; import android.content.Conte...
  • u013673422
  • u013673422
  • 2015年06月16日 18:13
  • 2809

Android 监听activity填充渲染完毕

我也不知道是不是专门用来监控Activity的。但通过这个事件可以实现当一个Activity完全加载完毕后,然后就执行。 1 2 3 4 5 @Override public void onWind...
  • changsimeng
  • changsimeng
  • 2017年05月10日 17:19
  • 597

监听webview显示完毕事件

项目中有这样一个需求:打开某份邮件,在邮件下载显示完毕后对正文中插入的图片加密;再次打开邮件先解密,保证邮件正文中的图片可以正常显示,在此之后再次加密...
  • johnyin2015
  • johnyin2015
  • 2016年06月09日 10:11
  • 321

Android 监听开机广播

Android 监听开机广播,实现程序自启 手机开机,会发送一条广播,可以注册一个广播接受者,当接受到这条广播的时候,即可执行需要执行的操作。 需要在AndroidManifest.xml中...
  • u010610691
  • u010610691
  • 2017年07月05日 10:36
  • 831

Android 监听开机广播启动服务 动态注册时间变化监听广播

开机广播权限 开机广播 注册    开机广播 public class BootedRec...
  • jjwwmlp456
  • jjwwmlp456
  • 2015年05月25日 11:53
  • 7736

监听webview 加载完成

mWebView.setWebViewClient(new WebViewClient() {                            @Override             ...
  • yn49782026
  • yn49782026
  • 2012年03月30日 15:52
  • 9153

Android问题:Activity生命周期事件

四状态:活跃、暂停、停止、销毁。 活跃:用户启动,在前台运行; 暂停:运行且可见,但是被某通知或者事件覆盖掉了,用户可以看到activity但是不能与之交互; 停止:被启动的其他activity隐藏掉...
  • Kid_U_ForFun
  • Kid_U_ForFun
  • 2015年01月17日 15:53
  • 1999

关于Android4.X后监听开机广播的一些记录

下面的有可能和手机运行环境相关,测试环境是华为的4.2系统,未root 1、开机广播在manifest里静态注册2、要授予权限3、安装后要至少启动一次,包括IDE连真机安装后的启动。4、在“设置”->...
  • inquisitive_plus
  • inquisitive_plus
  • 2015年04月01日 09:21
  • 759
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Android 监听系统启动完毕事件
举报原因:
原因补充:

(最多只允许输入30个字)