欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Android中程序的停止?fàn)顟B(tài)詳細(xì)介紹

 更新時(shí)間:2015年01月17日 11:54:49   投稿:junjie  
這篇文章主要介紹了Android中程序的停止?fàn)顟B(tài)詳細(xì)介紹,本文講解了什么是程序的停止?fàn)顟B(tài)、為什么Android要引入這一狀態(tài)、激活狀態(tài)和停止?fàn)顟B(tài)的切換、如何變?yōu)橥V範(fàn)顟B(tài)等內(nèi)容,需要的朋友可以參考下

很多人遇到過(guò)廣播收不到的問(wèn)題,比如Google Play推廣安裝廣播沒(méi)有收到等,諸如這些問(wèn)題,又都是什么原因呢,這篇文章將進(jìn)行回答.

從Android 3.1(HoneyComb) 也就是API 12開(kāi)始,Android引入了一套新的啟動(dòng)控制,這就是程序的停止?fàn)顟B(tài).那讓我們看一下Google對(duì)于程序的停止?fàn)顟B(tài)的描述.

什么是程序的停止?fàn)顟B(tài)

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

Starting from Android 3.1, the system's package manager keeps track of applications that are in a stopped state and provides a means of controlling their launch from background processes and other applications.

從Android 3.1開(kāi)始,系統(tǒng)的包管理器開(kāi)始跟蹤處理停止?fàn)顟B(tài)的程序.并且提供了方法來(lái)控制從后臺(tái)進(jìn)程或者其他程序?qū)λ鼈兊膯?dòng).

Note that an application's stopped state is not the same as an Activity's stopped state. The system manages those two stopped states separately.

注意 程序的停止?fàn)顟B(tài)和Activity的停止?fàn)顟B(tài)不同,系統(tǒng)會(huì)單獨(dú)處理這兩種狀態(tài).

The platform defines two new intent flags that let a sender specify whether the Intent should be allowed to activate components in stopped application. Android平臺(tái)提供了兩個(gè)intent flags,用來(lái)讓發(fā)送廣播的一方?jīng)Q定廣播是否需要同時(shí)發(fā)送給已經(jīng)停止的程序.

FLAG_INCLUDE_STOPPED_PACKAGES — Include intent filters of stopped applications in the list of potential targets to resolve against. 將已經(jīng)支持的程序加入到能處理intent的目標(biāo)處理者.

FLAG_EXCLUDE_STOPPED_PACKAGES — Exclude intent filters of stopped applications from the list of potential targets. 在能處理intent的目標(biāo)處理者中不包含已經(jīng)停止的程序.


當(dāng)如果intnet中沒(méi)有或者設(shè)置了上面兩個(gè)flag,在目標(biāo)處理者中是包含已經(jīng)處于停止的程序.但是注意,系統(tǒng)會(huì)為所有的廣播intent增加FLAG_EXCLUDE_STOPPED_PACKAGES這個(gè)flag.

為什么Android要引入這一狀態(tài)

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

Note that the system adds FLAG_EXCLUDE_STOPPED_PACKAGES to all broadcast intents. It does this to prevent broadcasts from background services from inadvertently or unnecessarily launching components of stoppped applications. A background service or application can override this behavior by adding the FLAG_INCLUDE_STOPPED_PACKAGES flag to broadcast intents that should be allowed to activate stopped applications.

需要注意的是,系統(tǒng)會(huì)默認(rèn)地對(duì)所有的廣播intent增加一個(gè)FLAG_EXCLUDE_STOPPED_PACKAGES的flag,這樣做的目的是為了阻止來(lái)自后臺(tái)服務(wù)的廣播不慎或者啟動(dòng)處于停止?fàn)顟B(tài)的程序的不必要的組件.

通常的intnet廣播,處于停止?fàn)顟B(tài)的程序的receiver是無(wú)法接受到的.那么怎么才能讓這些停止?fàn)顟B(tài)的程序接受到呢?可以這樣做,在后臺(tái)服務(wù)或者應(yīng)用中發(fā)送廣播時(shí),增加一個(gè)FLAG_INCLUDE_STOPPED_PACKAGES 的flag,意思是包含處于停止?fàn)顟B(tài)的程序.這樣就可以激活停止?fàn)顟B(tài)的程序.

正如上述引用指出,系統(tǒng)默認(rèn)阻止廣播intent發(fā)送給處于停止?fàn)顟B(tài)的程序包,實(shí)際上這是為了保證安全和省電需要.比如說(shuō)網(wǎng)絡(luò)變化的廣播,如果某些程序注冊(cè)監(jiān)聽(tīng),并且它在得到廣播時(shí),做一系列的網(wǎng)絡(luò)操作,這樣必然是很耗能源的.

激活狀態(tài)和停止?fàn)顟B(tài)的切換

當(dāng)程序第一次安裝并且沒(méi)有啟動(dòng),或者用戶手動(dòng)從程序管理將其停止后,程序都會(huì)處于停止?fàn)顟B(tài).

如何變?yōu)橥V範(fàn)顟B(tài)

1.在設(shè)置應(yīng)用管理中的應(yīng)用詳情頁(yè)點(diǎn)擊強(qiáng)制停止
2.使用adb shell adb shell am force-stop package-name
3.使用ActivityManager的隱藏方法forceStopPackages,并且向manifest加入申請(qǐng)權(quán)限<uses-permission android:name=“android.permission.FORCE_STOP_PACKAGES”/>

如何脫離停止?fàn)顟B(tài)

1.手動(dòng)啟動(dòng)程序
2.使用adb激活應(yīng)用組件,如activity或者receiver

發(fā)送廣播intent給處于停止?fàn)顟B(tài)的應(yīng)用

1.在Java代碼發(fā)送Intent時(shí),加入flag FLAG_INCLUDE_STOPPED_PACKAGES
2.如果使用adb,同樣是加入FLAG_INCLUDE_STOPPED_PACKAGES(其具體值為32),如adb shell am broadcast -a com.android.vending.INSTALL_REFERRER -f 32

檢查是否處于停止?fàn)顟B(tài)

1.進(jìn)入設(shè)置—應(yīng)用管理—某個(gè)應(yīng)用的詳細(xì)頁(yè),如果強(qiáng)制停止按鈕不可用,則說(shuō)明程序已經(jīng)處于停止?fàn)顟B(tài).
2.進(jìn)入設(shè)備終端,查看系統(tǒng)文件cat /data/system/packages-stopped.xml

問(wèn)答環(huán)節(jié)

提問(wèn):如果我的程序沒(méi)有activity只有一個(gè)receiver,我改如何激活才能接收到正常的廣播intent呢

回答:實(shí)際上,如果是上面所述的情況,該應(yīng)用在安裝之后不是處于停止?fàn)顟B(tài),因?yàn)樗鼪](méi)有任何用戶可以直接點(diǎn)擊的行為去將它移除停止?fàn)顟B(tài).你可以正常接收廣播intent,除非你人為地將它強(qiáng)制停止.

提問(wèn):系統(tǒng)的程序剛安裝會(huì)處于停止?fàn)顟B(tài)么?

回答:系統(tǒng)的程序通常會(huì)存放在 /system/app目錄下,在一開(kāi)始安裝之后不會(huì)處于停止?fàn)顟B(tài).

提問(wèn):Google Play的推廣廣播據(jù)說(shuō)是在程序安裝完成之后發(fā)送,是不是3.1之后受影響么

回答:不受影響的.Google文檔說(shuō)INSTALL_REFERRER會(huì)在程序安裝完成之后發(fā)送,據(jù)實(shí)際查看日志觀察,從3.1之后,是在程序安裝后第一次打開(kāi)時(shí)發(fā)送.

相關(guān)文章

  • Android實(shí)現(xiàn)簡(jiǎn)單的banner輪播圖

    Android實(shí)現(xiàn)簡(jiǎn)單的banner輪播圖

    這篇文章主要為大家詳細(xì)介紹了Android實(shí)現(xiàn)簡(jiǎn)單的banner輪播圖,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-05-05
  • Android實(shí)現(xiàn)滾動(dòng)刻度尺效果

    Android實(shí)現(xiàn)滾動(dòng)刻度尺效果

    本篇文章主要介紹了Android實(shí)現(xiàn)滾動(dòng)刻度尺效果,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-05-05
  • Android如何實(shí)現(xiàn)掃描和生成二維碼

    Android如何實(shí)現(xiàn)掃描和生成二維碼

    這篇文章主要為大家詳細(xì)介紹了Android如何實(shí)現(xiàn)掃描和生成二維碼,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-05-05
  • Android開(kāi)發(fā)簡(jiǎn)易音樂(lè)播放器

    Android開(kāi)發(fā)簡(jiǎn)易音樂(lè)播放器

    這篇文章主要為大家詳細(xì)介紹了Android開(kāi)發(fā)簡(jiǎn)易音樂(lè)播放器,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-12-12
  • Android實(shí)現(xiàn)自定義的彈幕效果

    Android實(shí)現(xiàn)自定義的彈幕效果

    現(xiàn)在的視頻網(wǎng)站基本都帶有彈幕效果,滿屏幕的文字從右到左飄來(lái)飄去。看起來(lái)還蠻炫的,這篇文章就是來(lái)實(shí)現(xiàn)這個(gè)效果,大部分的都是從右向左移動(dòng)漂移,本文的效果中也支持從左向右的漂移移動(dòng)效果,同時(shí)也支持屏幕彈幕最多顯示個(gè)數(shù)的設(shè)置。有需要的可以參考借鑒。
    2016-08-08
  • Android實(shí)現(xiàn)人臉支付的示例代碼

    Android實(shí)現(xiàn)人臉支付的示例代碼

    本文主要介紹了Android實(shí)現(xiàn)人臉支付,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-02-02
  • Android添加(創(chuàng)建)、刪除及判斷是否存在桌面快捷方式的方法

    Android添加(創(chuàng)建)、刪除及判斷是否存在桌面快捷方式的方法

    這篇文章主要介紹了Android添加(創(chuàng)建)、刪除及判斷是否存在桌面快捷方式的方法,涉及Android針對(duì)桌面快捷方式的相關(guān)操作技巧,需要的朋友可以參考下
    2015-05-05
  • Android星級(jí)評(píng)分條控件RatingBar使用詳解

    Android星級(jí)評(píng)分條控件RatingBar使用詳解

    這篇文章主要為大家詳細(xì)介紹了Android星級(jí)評(píng)分條控件RatingBar的使用方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-06-06
  • android圖像繪制(六)獲取本地圖片或拍照?qǐng)D片等圖片資源

    android圖像繪制(六)獲取本地圖片或拍照?qǐng)D片等圖片資源

    從SD卡中獲取圖片資源,或者拍一張新的圖片,然后再進(jìn)行處理(直接處理返回圖片/獲得圖片的地址再處理)接下來(lái)為您詳細(xì)介紹,感興趣的朋友可以了解下
    2013-01-01
  • Android View背景選擇器編寫(xiě)技巧

    Android View背景選擇器編寫(xiě)技巧

    本文主要介紹了Android View背景選擇器編寫(xiě)技巧,具有很好的參考價(jià)值,下面跟著小編一起來(lái)看下吧
    2017-02-02

最新評(píng)論