国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Not allowed to start service Intent app is in background uid UidRecord

這篇具有很好參考價(jià)值的文章主要介紹了Not allowed to start service Intent app is in background uid UidRecord。希望對大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

問題:
項(xiàng)目中有個(gè)鎖屏service,間隔30秒屏幕黑屏,向右滑動(dòng)解鎖,防止誤操作的,最近客戶反饋崩潰次數(shù)有點(diǎn)多
查看崩潰日志如下


java.lang.IllegalStateException
Not allowed to start service Intent { xxx.xxxService }: app is in background uid UidRecord{91b7553 u0a119 CAC bg:+21m20s281ms idle procs:2 seq(0,0,0)}
xxx(xxx:124)

分析:
android 8.0(O)以后后臺服務(wù)做了限制

解決:
1,在manifests.xml加入權(quán)限


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

2,啟動(dòng)服務(wù)startService改動(dòng)


public static boolean isServiceRunning(Context ctx, final String className) {
        ActivityManager am = (ActivityManager) ctx.getSystemService(Context.ACTIVITY_SERVICE);
        List<ActivityManager.RunningServiceInfo> info = am.getRunningServices(200);
        if (info == null || info.size() == 0) return false;
        for (ActivityManager.RunningServiceInfo aInfo : info) {
            if (className.equals(aInfo.service.getClassName())) return true;
        }
        return false;
    }

    //啟動(dòng)service
    public static void startService(Context ctx, Class<?> cls) {
        if (!isServiceRunning(ctx, cls.getName())) {
            Intent intent = new Intent(ctx, cls);
            if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
                ctx.startForegroundService(intent);
            } else {
                ctx.startService(intent);
            }
        }
    }
    

3,開啟通知,否則報(bào)錯(cuò)如下:


Context.startForegroundService() did not then call Service.startForeground()

意思是5秒內(nèi)必須調(diào)用startForeground,可參考文章來源地址http://www.zghlxwxcb.cn/news/detail-619413.html


 override fun onStartCommand(intent: Intent?, flags: Int, startId: Int): Int {
        if (intent != null) {            
            startServiceForeground()
        }
        return START_STICKY
    }
    
  //開啟通知
  @SuppressLint("NewApi")
  private fun startServiceForeground() {
        val ns: String = Context.NOTIFICATION_SERVICE
        val nm: NotificationManager = getSystemService(ns) as NotificationManager
        var nc: NotificationChannel? = null
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
            nc = NotificationChannel(
                "CoverService", "鎖屏",
                NotificationManager.IMPORTANCE_LOW
            )
            nm.createNotificationChannel(nc);
            val notification = Notification.Builder(
                applicationContext, "CoverService"
            ).setContentTitle("鎖屏服務(wù)中...")
                .setWhen(System.currentTimeMillis())
                .setSmallIcon(R.mipmap.icon_logo).build()

            startForeground(2, notification)
        }
    }

 //關(guān)閉通知
 private fun stopServiceForeground() {
        stopForeground(true)
    }

 override fun onDestroy() {
        stopServiceForeground()
        super.onDestroy()
    }

到了這里,關(guān)于Not allowed to start service Intent app is in background uid UidRecord的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • Failed to start mysqld.service: Unit not found.

    請仔細(xì)觀看文檔后,如果符合這個(gè)錯(cuò)誤,再通過這種方式解決,不要盲目復(fù)制 問題 :Failed to start mysqld.service: Unit not found. 原因 :MySQL沒有安裝成功,就啟動(dòng)MySQL 如果是在使用\\\"yum -y install mysql-community-server\\\"命令安裝mysql的時(shí)候,沒有安裝成功(原因:密鑰已安裝但是不適用此軟

    2024年02月11日
    瀏覽(29)
  • Docker安裝Failed to start docker.service: Unit docker.service not found.

    Docker安裝Failed to start docker.service: Unit docker.service not found.

    CentOS安裝Docker,啟動(dòng)時(shí)候報(bào)錯(cuò) Failed to start docker.service: Unit docker.service not found. (如下:),原因是CentOS默認(rèn)使用podman代替docker,所以需要將podman卸載. 一、解決辦法: 輸入 yum erase podman buildah 卸載podaman,之后輸入y,等待卸載直到出現(xiàn)“完畢”。 解決了這個(gè)問題之后便可以安裝了

    2024年02月12日
    瀏覽(26)
  • Linux防火墻報(bào)錯(cuò):Failed to start firewalld.service Unit is masked

    啟動(dòng)防火墻失敗,報(bào)錯(cuò)情況如下: 原因是:(啟動(dòng)防火墻失?。悍阑饓Ρ绘i定) 解鎖防火墻:(移除符號鏈接) Active: active (running) 看到這個(gè)已經(jīng)代表啟動(dòng)防火墻了。 啟動(dòng)服務(wù)操作: 端口、ip限制:(注意:–permanent 是永久設(shè)置,沒加則為臨時(shí)) 問題處理:

    2024年02月12日
    瀏覽(28)
  • Host is not allowed to connect to this MySQL server

    Host is not allowed to connect to this MySQL server

    問題:win10 系統(tǒng)上運(yùn)行node,運(yùn)行提示:Host is not allowed to connect to this MySQL server。 在windows10上面裝完MySQL8.0.28,發(fā)現(xiàn)本地可以使用Navicat進(jìn)行連接 ,但是在vue項(xiàng)目中調(diào)用node接口連接mysql卻報(bào)錯(cuò)Host is not allowed to connect to this MySQL server 這個(gè)錯(cuò)誤其實(shí)就是我們的MySQL不允許遠(yuǎn)程登錄,所

    2024年02月13日
    瀏覽(24)
  • sudo service docker start顯示[OK]但是* Docker is not running問題【Docker踩坑】

    首先必須添加 fstab 文件,因?yàn)橛捎谀撤N原因不存在或無法讀取: 由于網(wǎng)絡(luò)控制器錯(cuò)誤,所以要從nftables切換到iptables 執(zhí)行上述命令后重新啟動(dòng)docker 再查看當(dāng)前運(yùn)行狀態(tài)

    2024年02月11日
    瀏覽(21)
  • 連接MySQL報(bào)錯(cuò),is not allowed to connect to this MySQL server

    連接MySQL報(bào)錯(cuò),is not allowed to connect to this MySQL server

    ????????本機(jī)裝的MySQL數(shù)據(jù)庫,本機(jī)可以正常連接,其他機(jī)器訪問報(bào)錯(cuò),is not allowed to connect to this MySQL server,防火墻等其他策略均配置沒問題 。 ? 解決方案: ? ? ? ? 出現(xiàn)該問題的原因是,MySQL數(shù)據(jù)庫只允許自身所在的本機(jī)器連接,不允許遠(yuǎn)程連接。 1、在MySQL所在服務(wù)器

    2024年02月16日
    瀏覽(24)
  • Host is not allowed to connect to this MySQL server解決方法

    Host is not allowed to connect to this MySQL server解決方法

    這個(gè)錯(cuò)誤,其實(shí)就是我們安裝的MySQL不允許遠(yuǎn)程登錄,解決方法如下: 1. 在裝有MySQL的機(jī)器上登錄MySQL mysql -u root -p密碼,執(zhí)行如下命令: 該結(jié)果表示是當(dāng)前的root用戶限制在當(dāng)前的ip內(nèi)訪問的,需要修改他的訪問域。 2. 執(zhí)行命令: 3.執(zhí)行 FLUSH PRIVILEGES 或者重啟 MySQL 即可;

    2024年02月04日
    瀏覽(31)
  • ERROR Invalid options in vue.config.js: “resolve“ is not allowed

    今天配置別名的時(shí)候不生效,懷疑是腳手架版本,查看腳手架版本,我現(xiàn)在的是vue cli 3.x. link rel=\\\"preload\\\" 是一種 resource hint,用來指定頁面加載后很快會被用到的資源,所以在頁面加載的過程中,我們希望在瀏覽器開始主體渲染之前盡早 preload。 默認(rèn)情況下,一個(gè) Vue CLI 應(yīng)用會

    2024年02月09日
    瀏覽(20)
  • Host is not allowed to connect to this MySQL server的解決辦法

    Host is not allowed to connect to this MySQL server的解決辦法

    首先我們在學(xué)習(xí)Java時(shí),我們鏈接的MySql里面沒有數(shù)據(jù),我們也不知道有些什么數(shù)據(jù),于是我們會有一種辦法來繼續(xù)進(jìn)行我們代碼的編寫。 1.第一步是我的電腦必須要和我想使用的那個(gè)人的電腦處在同一個(gè)局域網(wǎng)下,例如學(xué)生在學(xué)校里面可以兩臺電腦同時(shí)連上學(xué)校的校園網(wǎng);我

    2024年02月11日
    瀏覽(21)
  • Navicat連接數(shù)據(jù)庫出現(xiàn) is not allowed to connect to this MySQL server 報(bào)錯(cuò)

    Navicat連接數(shù)據(jù)庫出現(xiàn) is not allowed to connect to this MySQL server 報(bào)錯(cuò)

    我們發(fā)現(xiàn)防火墻已經(jīng)關(guān)閉了,還會出現(xiàn)這樣的情況,那是因?yàn)閙ysql數(shù)據(jù)只允許自身所在的本機(jī)器連接,不允許進(jìn)行遠(yuǎn)程連接 (1)在mysql服務(wù)安裝的機(jī)器上進(jìn)入mysql: ?(2)然后使用 use mysql命令,出現(xiàn)如下報(bào)錯(cuò)。 ?(3)如出現(xiàn)上圖報(bào)錯(cuò),那是因?yàn)闆]有修改mysql的初始密碼,使用

    2023年04月13日
    瀏覽(24)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包