亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 系統 > Android > 正文

Android中實現開機自動啟動服務(service)實例

2020-04-11 11:49:43
字體:
來源:轉載
供稿:網友

最近在將 HevSocks5Client 移植到 Android 上了,在經過增加 signalfd 和 timerfd 相關的系統調用支持后,就可以直接使用 NDK 編譯出 executable 了。直接的 native exectuable 在 Android 系統總還是不太方便用哦。還是做成一個 apk 吧,暫定只寫一個 service 并開機自動啟用,無 activity 的。

Java 中調用 native 程序我選擇使用 JNI 方式,直接在 JNI_OnLoad 方法中調用 pthread_create 創建個線程跑原來的 main 就行啦。

復制代碼 代碼如下:

...
#if defined(ANDROID)
#include <jni.h>
#include <pthread.h>
#endif

int
main (int argc, char *argv[])
{
    ...
}

#if defined(ANDROID)
static void *
thread_handler (void *data)
{
    main (0, NULL);
    return NULL;
}

jint
JNI_OnLoad (JavaVM *vm, void *reserved)
{
    pthread_t thread;
    pthread_create (&thread, NULL, thread_handler, NULL);
    return JNI_VERSION_1_4;
}
#endif


Android 服務

服務主要是加載 JNI 接口的 hev-socks5-client 庫,使服務跑起來。

復制代碼 代碼如下:

package hev.socks5;

import android.app.Service;
import android.content.Intent;
import android.os.IBinder;
import android.util.Log;

public class MainService extends Service {

        static {
                System.loadLibrary("hev-socks5-client");
        }

        public IBinder onBind(Intent intent) {
                return null;
        }
}

BroadcastReceiver

ServiceReceiver 的功能就是監聽系統上的 BOOT_COMPLETED 事件,用于實現自動啟動服務。

復制代碼 代碼如下:

package hev.socks5;

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

public class ServiceReceiver extends BroadcastReceiver {

        @Override
        public void onReceive(Context context, Intent intent) {
                if (intent.getAction().equals(Intent.ACTION_BOOT_COMPLETED)) {
                        Intent i = new Intent(context, MainService.class);
                        context.startService(i);
                }
        }
}


AndroidManifest.xml

最后,要在 Manifest 中注冊 Service 和 Receiver,增加上訪問 Internet 和 Boot completed 的權限。

復制代碼 代碼如下:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
          package="hev.socks5"
          android:versionCode="1"
          android:versionName="1.0">
        <application android:label="@string/app_name" >
                <service android:name=".MainService">
                        <intent-filter>
                                <action android:name="hev.socks5.MainService" />
                        </intent-filter>
                </service>
                <receiver android:enabled="true" android:name=".ServiceReceiver">
                        <intent-filter>
                                <action android:name="android.intent.action.BOOT_COMPLETED" />
                        </intent-filter>
                </receiver>
        </application>
        <uses-permission android:name="android.permission.INTERNET" />
        <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
</manifest>

Tips

此方法僅在 Android 2.3.3 及之前版本有效,之后版本如果此應用在安裝后從沒運行過,Broadcast Receiver 將接收不到 boot completed 的 action,解決方法是使用命令手動啟動一下 service。

復制代碼 代碼如下:
am startservice hev.socks5/.MainService

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
97精品国产97久久久久久春色| 久久福利视频网| 青青在线视频一区二区三区| 精品偷拍一区二区三区在线看| 日韩在线观看你懂的| 国产日韩在线观看av| 成人亚洲激情网| 91久久精品在线| 国产精品99久久99久久久二8| 欧美精品久久久久久久久| www.99久久热国产日韩欧美.com| 欧美电影免费观看高清完整| 夜色77av精品影院| 国产日韩专区在线| 日韩一区二区欧美| 97热精品视频官网| 亚洲欧美日韩第一区| 久久精品91久久香蕉加勒比| 国产精品三级久久久久久电影| 久久视频免费观看| 青青草国产精品一区二区| 成人黄色生活片| 北条麻妃在线一区二区| 欧美丰满少妇xxxxx做受| 欧美国产精品日韩| 欧美亚洲在线视频| 国产精品丝袜一区二区三区| 日韩美女在线播放| 亚洲精品国精品久久99热一| 国产视频999| 国产精品久久久久久亚洲影视| 91chinesevideo永久地址| 国产精品一区二区三区久久| 国产成人亚洲综合91精品| 欧美激情一区二区三区久久久| 免费91麻豆精品国产自产在线观看| 欧美整片在线观看| 懂色av中文一区二区三区天美| 97国产suv精品一区二区62| 狠狠色狠狠色综合日日五| 国产精品视频一区二区高潮| 亚洲区在线播放| 亚洲另类激情图| 在线观看欧美日韩| 日韩av在线免费观看一区| 亚洲精品免费在线视频| 情事1991在线| 高清视频欧美一级| 国产一区二区三区在线视频| 日韩在线免费视频观看| 亚洲女人天堂成人av在线| 国模精品系列视频| 日韩在线视频免费观看| 欧美高清第一页| 九九精品在线视频| 久久久免费高清电视剧观看| 国产色视频一区| 日韩国产在线看| 亚洲欧洲在线播放| 蜜臀久久99精品久久久无需会员| 国产精品视频网址| 热久久美女精品天天吊色| 亲子乱一区二区三区电影| 人人澡人人澡人人看欧美| 91精品免费久久久久久久久| 成人午夜小视频| 亚洲欧美激情另类校园| 中文字幕亚洲欧美| 午夜精品久久17c| 精品欧美激情精品一区| 黄色精品在线看| 欧美成人免费在线视频| 一区二区三区日韩在线| 欧美高清在线视频观看不卡| 欧美一区二区大胆人体摄影专业网站| 欧美成人精品h版在线观看| 亚洲天堂男人天堂| 日韩高清人体午夜| 亚洲成色777777在线观看影院| 一区二区三区国产在线观看| 萌白酱国产一区二区| 亚洲欧洲视频在线| 亚洲一区二区三区视频| 日本三级韩国三级久久| 亚洲精品av在线| 日韩电影免费在线观看| 久久精品一本久久99精品| 亚洲二区在线播放视频| 日韩美女福利视频| 久久精品国产久精国产思思| 亚洲欧美日韩精品久久亚洲区| 欧美精品激情在线观看| 8x海外华人永久免费日韩内陆视频| 亚洲在线www| 国产大片精品免费永久看nba| 国产成人在线一区二区| 亚洲乱码一区av黑人高潮| 亚洲欧美日韩综合| 5278欧美一区二区三区| 蜜臀久久99精品久久久无需会员| 欧美日韩免费区域视频在线观看| 久久av中文字幕| 国产精品99久久99久久久二8| 91精品啪在线观看麻豆免费| 亚洲黄色在线观看| 亚洲欧洲偷拍精品| 久久精品久久精品亚洲人| 九九九热精品免费视频观看网站| 久久久久久久久久亚洲| 影音先锋欧美在线资源| 成人国产亚洲精品a区天堂华泰| 国产精品视频自拍| 欧美日本在线视频中文字字幕| 国产精品video| 欧美一级免费看| 日韩精品www| 亚洲精品电影网站| 亚洲美女又黄又爽在线观看| 成人国产精品免费视频| 777午夜精品福利在线观看| 午夜精品免费视频| 国产精品草莓在线免费观看| 亚洲亚裔videos黑人hd| 88xx成人精品| 麻豆国产精品va在线观看不卡| 在线播放日韩欧美| 欧美性猛交xxxx乱大交| 欧美大片在线看| 51ⅴ精品国产91久久久久久| 91精品国产高清| 丝袜美腿精品国产二区| 2024亚洲男人天堂| 韩国视频理论视频久久| 国产成人在线一区| 久久久久久久电影一区| 91精品国产综合久久香蕉最新版| 亚洲欧美日韩图片| 国产成人一区二| 亚州成人av在线| 日韩精品中文在线观看| 成人激情视频免费在线| 亚洲欧美综合另类中字| 国产精品久久久久久亚洲调教| 狠狠色香婷婷久久亚洲精品| 欧美一级高清免费| 亚洲综合精品一区二区| 欧美日韩午夜视频在线观看| 正在播放欧美视频| 日韩成人av在线播放| 九九九热精品免费视频观看网站| 有码中文亚洲精品| 国产精品视频26uuu| 日韩美女视频免费在线观看| 欧美日韩在线看| 亚洲人成网站色ww在线| 精品视频在线播放色网色视频| 亚洲欧美国产精品| 欧美国产日韩一区二区在线观看| 色婷婷综合成人| 欧美黄色免费网站| 国产亚洲激情视频在线| 日韩欧美亚洲国产一区| 国产免费一区二区三区香蕉精| 欧美精品videosex牲欧美|