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

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

Android8.0:java.lang.IllegalStateException:

Android8.0:java.lang.IllegalStateException:

尚方寶劍之說(shuō) 2019-07-22 15:46:59
Android8.0:java.lang.IllegalStateException:在應(yīng)用程序啟動(dòng)時(shí),應(yīng)用程序啟動(dòng)應(yīng)該執(zhí)行某些網(wǎng)絡(luò)任務(wù)的服務(wù)。在針對(duì)API級(jí)別26之后,我的應(yīng)用程序無(wú)法在后臺(tái)的Android8.0上啟動(dòng)服務(wù)。由以下原因引起:java.lang.IllegalStateException:不允許啟動(dòng)服務(wù)意圖{CMP=my.app.tt/com.my.service}:APP處于后臺(tái)uid UidRecord{90372b1 u0a136 CEM空閑進(jìn)程:1 seq(0,0,0)}據(jù)我所知,它涉及:背景執(zhí)行限制如果針對(duì)Android8.0的應(yīng)用程序試圖在不允許創(chuàng)建后臺(tái)服務(wù)的情況下使用該方法,startService()方法將引發(fā)IllegalStateException。"在不允許的情況下-這到底是什么意思?以及如何解決它。我不想把我的服務(wù)設(shè)置為“前景”
查看完整描述

3 回答

?
忽然笑

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

我找到解決辦法了。對(duì)于8.0前的設(shè)備,您只需使用startService(),但對(duì)于后置7.0設(shè)備,您必須使用startForgroundService()..下面是啟動(dòng)服務(wù)的代碼示例。

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
        context.startForegroundService(new Intent(context, ServedService.class));
    } else {
        context.startService(new Intent(context, ServedService.class));
    }

在服務(wù)類中,請(qǐng)?zhí)砑右韵麓a以進(jìn)行通知:

@Overridepublic void onCreate() {
    super.onCreate();
    startForeground(1,new Notification());}

其中O是Android版本26。


查看完整回答
反對(duì) 回復(fù) 2019-07-22
?
拉風(fēng)的咖菲貓

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

最好的方法是JobIntentService它對(duì)OREO使用新的JobScheduler,如果不可用,則使用舊的服務(wù)。

在您的艙單中聲明:

<service android:name=".YourService"
         android:permission="android.permission.BIND_JOB_SERVICE"/>

在您的服務(wù)中,您必須將onHandleIntent替換為onHandleWork:

public class YourService extends JobIntentService {

    public static final int JOB_ID = 1;

    public static void enqueueWork(Context context, Intent work) {
        enqueueWork(context, YourService.class, JOB_ID, work);
    }

    @Override
    protected void onHandleWork(@NonNull Intent intent) {
        // your code
    }}

然后,您可以從以下方面開(kāi)始您的服務(wù):

YourService.enqueueWork(context, new Intent());


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

添加回答

舉報(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)