最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

android基礎(chǔ)教程之開機(jī)啟動(dòng)示例

 更新時(shí)間:2014年02月24日 16:26:25   作者:  
這篇文章主要介紹了android開機(jī)啟動(dòng)示例,開機(jī)自動(dòng)啟動(dòng)程序后開機(jī)啟動(dòng)廣播功能實(shí)現(xiàn),需要的朋友可以參考下

Manifest.xml文件:

復(fù)制代碼 代碼如下:

<service
            android:name=".DaemonService"
            android:enabled="true"
            android:process=".DaemonService" >
            <intent-filter android:priority="1000">
                <action android:name="cn.test.DaemonService" />

                <category android:name="android.intent.category.DEFAULT" />
            </intent-filter>
        </service>

注釋:因?yàn)槲覀冞@個(gè)服務(wù)要一直在后臺(tái)運(yùn)行,所以不采用bindService的方式,而是直接采用startService的方式。

這樣就不至于我們的程序結(jié)束,也把我們的服務(wù)也結(jié)束掉了。

復(fù)制代碼 代碼如下:

package cn.start.test;

import java.util.List;
import android.annotation.SuppressLint;
import android.app.ActivityManager;
import android.app.Service;
import android.app.ActivityManager.RunningAppProcessInfo;
import android.content.Intent;
import android.os.Handler;
import android.os.IBinder;
import android.util.Log;

public class DaemonService extends Service {

    private static final String TAG = "Alarmreceiver";
    Handler hd1 = new Handler();
    int delay = 5000;

    public IBinder onBind(Intent intent) {
        // TODO Auto-generated method stub
        return null;
    }

    @SuppressLint("NewApi")
    public void onCreate() {

        System.out.println("服務(wù)啟動(dòng)成功。。。。。。。。。。");
        hd1.postDelayed(mTasks, delay);

    }

    private Runnable mTasks = new Runnable() {
        @SuppressLint("NewApi")
        public void run() {
            android.os.Process.setThreadPriority(android.os.Process.THREAD_PRIORITY_FOREGROUND);
            if (checkMainAppIsActive()) {
                Log.d(TAG, "服務(wù)檢測(cè)主應(yīng)用還在運(yùn)行");

            } else {
                Log.d(TAG, "服務(wù)檢測(cè)主應(yīng)用已經(jīng)關(guān)閉");
                Intent intent = getPackageManager().getLaunchIntentForPackage(
                        "cn.start.test");
                if (intent != null) {
                    DaemonService.this.startActivity(intent);
                    Log.d(TAG, "服務(wù)啟動(dòng)主應(yīng)用程序。");
                } else {
                    Log.d(TAG, "服務(wù)檢測(cè)到?jīng)]有安裝主應(yīng)用,自動(dòng)退出。");
                    return;
                }
            }
            hd1.postDelayed(mTasks, delay);

        }
    };

    /**
     * 檢測(cè)是否主程序是否還在運(yùn)行
     * @return
     */
    @SuppressLint({ "NewApi", "NewApi" })
    public boolean checkMainAppIsActive(){
        ActivityManager am = (ActivityManager) getSystemService(ACTIVITY_SERVICE);
        //獲取正在運(yùn)行的應(yīng)用
        List<RunningAppProcessInfo> run = am.getRunningAppProcesses();
        for(RunningAppProcessInfo ra : run){
            if(ra.processName.equals("cn.start.test")){
                return true;
            }
        }
        return false;
    }
}

開機(jī)自動(dòng)啟動(dòng)程序,自然少不了開機(jī)啟動(dòng)廣播了。

manifest.xml 文件:

復(fù)制代碼 代碼如下:

<receiver android:name=".StartupReceiver" >
            <intent-filter android:priority="1000" >
                <action android:name="android.intent.action.BOOT_COMPLETED" />
            </intent-filter>
        </receiver>

復(fù)制代碼 代碼如下:

public class StartupReceiver extends BroadcastReceiver {

    @Override
    public void onReceive(Context context, Intent intent) {
        // TODO Auto-generated method stub
        Intent i = new Intent(context,LoginActivity.class);
        i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
        context.startActivity(i);

       
        Intent serviceIntent = new Intent(context,DaemonService.class);
        context.startService(serviceIntent);
    }
}

總結(jié):開機(jī)啟動(dòng)廣播一定在manifest文件中注冊(cè)好。定時(shí)器要注意定時(shí)延遲。

通過(guò)List<RunningAppProcessInfo> run = am.getRunningAppProcesses();判斷自己的進(jìn)程是否還在運(yùn)行

通過(guò)getPackageManager().getLaunchIntentForPackage( "cn.start.test"); getPackageManager().getLaunchIntentForPackage( "cn.start.test");

來(lái)啟動(dòng)自己的程序。

相關(guān)文章

最新評(píng)論

赣州市| 唐山市| 玉树县| 雅江县| 勐海县| 麦盖提县| 大同县| 四平市| 黔南| 长岭县| 玛纳斯县| 汽车| 天津市| 景谷| 双桥区| 桃源县| 明光市| 崇信县| 财经| 蛟河市| 津南区| 萍乡市| 西丰县| 天水市| 永仁县| 滨州市| 右玉县| 无锡市| 工布江达县| 丽江市| 大同市| 桐梓县| 兴化市| 富蕴县| 水富县| 漳浦县| 庐江县| 龙胜| 阿拉善盟| 左贡县| 温州市|