网站首页 极客学院 视频课堂 极客论坛 下载专区 行业新闻 欢迎光临极客研究院,今天是2019-08-24 星期六
会员面板
帐号:
密码:
验证码:
极客学院
教程搜索
输入要搜索的内容:

下载专区
精品教程
   网站首页 > 移动开发 > Android开发教程 > android应用开机自启动和service开机自启动

android应用开机自启动和service开机自启动

Android不管是开机时自动启动服务,还是自动启动APP,都是一个方法:创建一个广播接收器(每个APP的广播接收器开机时都会启动状态),监听系统的开机消息通知。

android开机应用与service开机自启动配置:

1.在AndroidManifest.xml中添加如下内容:

(1)在application中添加receiver:

<application  

        android:allowBackup="true"  

        android:icon="@drawable/ic_launcher"  

        android:label="@string/app_name"  

        android:theme="@style/AppTheme" >  

    <receiver android:name=".<span style="color:#3333FF;">SlptServiceInstalledReceiver</span>" >  

        <intent-filter android:priority="1000" >  

                <action android:name="android.intent.action.BOOT_COMPLETED" />  

                <action android:name="android.media.AUDIO_BECOMING_NOISY" />  

            </intent-filter>  

    </receiver>  

</application> 

(2)添加权限:

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

2.创建一个监听开机广播的类SlptServiceInstalledReceiver(我这里因为开机广播来的比较迟,所以监听了一个开机声音的广播):

(1)服务开机自启动:

package com.ingenic.iwds.slptservicedemo;  

import com.ingenic.iwds.slpt.SlptClockService;  

import android.content.BroadcastReceiver;  

import android.content.Context;  

import android.content.Intent;  

public class SlptServiceInstalledReceiver extends BroadcastReceiver{  

    @Override  

    public void onReceive(Context context, Intent intent) {  

        if (intent.getAction().equals("android.media.AUDIO_BECOMING_NOISY")) {  

                        /* 服务开机自启动 */  

                        Intent service = new Intent(context, SlptClockService.class);  

            context.startService(service);  

                }  

    }  

(2)应用开机自启动:

package com.ingenic.iwds.slptclientdemo;   

import android.content.BroadcastReceiver;  

import android.content.Context;  

import android.content.Intent;  

public class SlptClientInstalledReceiver extends BroadcastReceiver {  

    String TAG = "slptClient";  

    @Override  

    public void onReceive(Context context, Intent intent) {  

        if (intent.getAction().equals("android.intent.action.BOOT_COMPLETED")) {  

                        /* 应用开机自启动 */  

            Intent intent_n = new Intent(context,   SlptClientDemoMainActivity.class);  

            intent_n.setAction("android.intent.action.MAIN");  

            intent_n.addCategory("android.intent.category.LAUNCHER");  

            intent_n.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);  

            context.startActivity(intent_n);  

        }  

    }  

}  

  相关文章
本文标题:android应用开机自启动和service开机自启动
对本文有疑问?现在就进入论坛提问>>
 
粤ICP备18090445号