第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

android-啟動(dòng)服務(wù)

android-啟動(dòng)服務(wù)

慕標(biāo)5832272 2019-12-18 18:13:52
android-啟動(dòng)服務(wù)從我在StackExchange和其他地方看到的所有信息來(lái)看,我已經(jīng)正確地設(shè)置了在Android操作系統(tǒng)啟動(dòng)時(shí)啟動(dòng)IntentService的所有內(nèi)容。不幸的是,它沒(méi)有在啟動(dòng)時(shí)啟動(dòng),而且我沒(méi)有收到任何錯(cuò)誤。也許專家們能幫上忙.。清單:<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="http://schemas.android.com/apk/res/android"   package="com.phx.batterylogger"   android:versionCode="1"   android:versionName="1.0"   android:installLocation="internalOnly"><uses-sdk android:minSdkVersion="8" />   <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />   <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />   <uses-permission android:name="android.permission.BATTERY_STATS" />   <application android:icon="@drawable/icon" android:label="@string/app_name">     <service android:name=".BatteryLogger"/>     <receiver android:name=".StartupIntentReceiver">           <intent-filter>               <action android:name="android.intent.action.BOOT_COMPLETED" />           </intent-filter>       </receiver></application></manifest>啟動(dòng)廣播收發(fā)器:package com.phx.batterylogger;import android.content.BroadcastReceiver;import android.content.Context; import android.content.Intent;public class StartupIntentReceiver extends BroadcastReceiver {     @Override     public void onReceive(Context context, Intent intent) {         Intent serviceIntent = new Intent(context, BatteryLogger.class);         context.startService(serviceIntent);     }}更新:我嘗試了以下所有建議,并添加了日志,例如Log.v("BatteryLogger", "Got to onReceive, about to start service");到StartupIntentRec信機(jī)的onRecept處理程序,任何記錄都不會(huì)被記錄。所以它甚至沒(méi)有到達(dá)廣播收發(fā)器。我認(rèn)為我正在正確部署APK并進(jìn)行測(cè)試,只在Eclipse中運(yùn)行Debug,控制臺(tái)說(shuō)它成功地將它安裝到我的Xoom平板電腦\BatteryLogger\bin\BatteryLogger.apk上。然后進(jìn)行測(cè)試,重新啟動(dòng)平板電腦,然后查看DDMS中的日志并檢查OS設(shè)置中正在運(yùn)行的服務(wù)。這聽(tīng)起來(lái)是對(duì)的,還是我遺漏了什么?再一次,任何幫助都是非常感謝的。
查看完整描述

3 回答

?
湖上湖

TA貢獻(xiàn)2003條經(jīng)驗(yàn) 獲得超2個(gè)贊

您的服務(wù)可能會(huì)在它完成之前被關(guān)閉,因?yàn)樵O(shè)備在啟動(dòng)后將進(jìn)入休眠狀態(tài)。你需要先獲得一個(gè)喚醒鎖。幸運(yùn)的是,支持庫(kù)為我們提供了一個(gè)類。要做到這一點(diǎn):

public class SimpleWakefulReceiver extends WakefulBroadcastReceiver {
    @Override
    public void onReceive(Context context, Intent intent) {
        // This is the Intent to deliver to our service.
        Intent service = new Intent(context, SimpleWakefulService.class);

        // Start the service, keeping the device awake while it is launching.
        Log.i("SimpleWakefulReceiver", "Starting service @ " + SystemClock.elapsedRealtime());
        startWakefulService(context, service);
    }}

然后,在您的服務(wù)中,確保釋放喚醒鎖:

    @Override
    protected void onHandleIntent(Intent intent) {
        // At this point SimpleWakefulReceiver is still holding a wake lock
        // for us.  We can do whatever we need to here and then tell it that
        // it can release the wakelock....
        Log.i("SimpleWakefulReceiver", "Completed service @ " + SystemClock.elapsedRealtime());
        SimpleWakefulReceiver.completeWakefulIntent(intent);
    }

不要忘記添加Wake_LOCK權(quán)限:

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



查看完整回答
反對(duì) 回復(fù) 2019-12-19
  • 3 回答
  • 0 關(guān)注
  • 440 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)