美文网首页Android开发
Android开发:APP自启动的实现

Android开发:APP自启动的实现

作者: wzjing | 来源:发表于2017-04-16 16:08 被阅读0次

<p> Android的自启动类似于Windows的开机启动,允许开发者让自己的APP在开机的时候做一些操作,如启动一个后台的Service、发送一条通知甚至是启动一个Activity界面等。</p>

1、写一个广播类

<p>新建一个广播类:</p>

public class BootReceiver extends BroadcastReceiver {
    @Override
    public void onReceive(Context context, Intent intent) {
        //标准的写法是需要判别Action的类型的
        if (intent.getAction().equals(Intent.ACTION_BOOT_COMPLETED)){
            //你想执行的操作
        }
    }
}

2、添加Manifest配置

配置广播监听器 (如果不是AndroidStudio的话,你可能需要把name改成BootReceiver的完整路径):

<receiver
  android:name=".BootReceiver" 
  android:enabled="true">
    <intent-filter>
      <action 
        android:name="android.intent.action.BOOT_COMPLETED"/>
    </intent-filter>
</receiver>

添加权限:

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

经过以上配置,你的APP已经可以在开机时执行你的自定义操作了,但是在一些国产系统上,会有自带的安全管理软件对开机启动进行管理,如果安全管理软件内屏蔽了APP的自启动,那么你的APP仍然无法自动启动。另外,在开机时发送通知和启动Activity是一件非常影响用户体验的是事,需要谨慎考虑。

3、其他相关系统广播

有开机广播,自然也有关机广播和重启广播

  • 关机广播(没有权限)
<action android:name="android.intent.action.ACTION_SHUTDOWN"/>
  • ** 重启广播**
    重启时也会先发送ACTION_SHUTDOWN广播
<action android:name="android.intent.action.REBOOT"/>

重启完成权限(需要监听重启完成的权限)

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

相关文章

网友评论

    本文标题:Android开发:APP自启动的实现

    本文链接:https://www.haomeiwen.com/subject/xhpaattx.html