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

首頁 > 系統 > Android > 正文

Android中程序的停止狀態詳細介紹

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

很多人遇到過廣播收不到的問題,比如Google Play推廣安裝廣播沒有收到等,諸如這些問題,又都是什么原因呢,這篇文章將進行回答.

從Android 3.1(HoneyComb) 也就是API 12開始,Android引入了一套新的啟動控制,這就是程序的停止狀態.那讓我們看一下Google對于程序的停止狀態的描述.

什么是程序的停止狀態

復制代碼 代碼如下:

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開始,系統的包管理器開始跟蹤處理停止狀態的程序.并且提供了方法來控制從后臺進程或者其他程序對它們的啟動.

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.

注意 程序的停止狀態和Activity的停止狀態不同,系統會單獨處理這兩種狀態.

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平臺提供了兩個intent flags,用來讓發送廣播的一方決定廣播是否需要同時發送給已經停止的程序.

FLAG_INCLUDE_STOPPED_PACKAGES ― Include intent filters of stopped applications in the list of potential targets to resolve against. 將已經支持的程序加入到能處理intent的目標處理者.

FLAG_EXCLUDE_STOPPED_PACKAGES ― Exclude intent filters of stopped applications from the list of potential targets. 在能處理intent的目標處理者中不包含已經停止的程序.


當如果intnet中沒有或者設置了上面兩個flag,在目標處理者中是包含已經處于停止的程序.但是注意,系統會為所有的廣播intent增加FLAG_EXCLUDE_STOPPED_PACKAGES這個flag.

為什么Android要引入這一狀態

復制代碼 代碼如下:

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.

需要注意的是,系統會默認地對所有的廣播intent增加一個FLAG_EXCLUDE_STOPPED_PACKAGES的flag,這樣做的目的是為了阻止來自后臺服務的廣播不慎或者啟動處于停止狀態的程序的不必要的組件.

通常的intnet廣播,處于停止狀態的程序的receiver是無法接受到的.那么怎么才能讓這些停止狀態的程序接受到呢?可以這樣做,在后臺服務或者應用中發送廣播時,增加一個FLAG_INCLUDE_STOPPED_PACKAGES 的flag,意思是包含處于停止狀態的程序.這樣就可以激活停止狀態的程序.

正如上述引用指出,系統默認阻止廣播intent發送給處于停止狀態的程序包,實際上這是為了保證安全和省電需要.比如說網絡變化的廣播,如果某些程序注冊監聽,并且它在得到廣播時,做一系列的網絡操作,這樣必然是很耗能源的.

激活狀態和停止狀態的切換

當程序第一次安裝并且沒有啟動,或者用戶手動從程序管理將其停止后,程序都會處于停止狀態.

如何變為停止狀態

1.在設置應用管理中的應用詳情頁點擊強制停止
2.使用adb shell adb shell am force-stop package-name
3.使用ActivityManager的隱藏方法forceStopPackages,并且向manifest加入申請權限<uses-permission android:name=“android.permission.FORCE_STOP_PACKAGES”/>

如何脫離停止狀態

1.手動啟動程序
2.使用adb激活應用組件,如activity或者receiver

發送廣播intent給處于停止狀態的應用

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

檢查是否處于停止狀態

1.進入設置―應用管理―某個應用的詳細頁,如果強制停止按鈕不可用,則說明程序已經處于停止狀態.
2.進入設備終端,查看系統文件cat /data/system/packages-stopped.xml

問答環節

提問:如果我的程序沒有activity只有一個receiver,我改如何激活才能接收到正常的廣播intent呢

回答:實際上,如果是上面所述的情況,該應用在安裝之后不是處于停止狀態,因為它沒有任何用戶可以直接點擊的行為去將它移除停止狀態.你可以正常接收廣播intent,除非你人為地將它強制停止.

提問:系統的程序剛安裝會處于停止狀態么?

回答:系統的程序通常會存放在 /system/app目錄下,在一開始安裝之后不會處于停止狀態.

提問:Google Play的推廣廣播據說是在程序安裝完成之后發送,是不是3.1之后受影響么

回答:不受影響的.Google文檔說INSTALL_REFERRER會在程序安裝完成之后發送,據實際查看日志觀察,從3.1之后,是在程序安裝后第一次打開時發送.

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
91在线观看免费| 91精品国产综合久久男男| 国产男女猛烈无遮挡91| 日韩电影中文字幕在线| 欧美激情免费视频| 久久久亚洲天堂| 亚洲专区中文字幕| 这里只有精品视频在线| 日韩精品视频免费在线观看| 最近2019中文字幕大全第二页| 欧美最顶级的aⅴ艳星| 久久影院资源站| 精品视频久久久| 国产97在线观看| 78色国产精品| 欧美www在线| 亚洲韩国欧洲国产日产av| 91免费观看网站| 国产日韩精品入口| 欧美激情第6页| 亚洲精品91美女久久久久久久| 日韩一区二区欧美| 国产精品成人一区| 国产一区二区三区高清在线观看| 日韩天堂在线视频| 亚洲网站在线观看| 日韩精品在线视频美女| 欧美性受xxxx黑人猛交| 久久久久久久影视| 7m第一福利500精品视频| 国产日韩欧美自拍| 精品久久久久久久久久久久| 丝袜亚洲欧美日韩综合| 日韩中文字幕国产| 久久影院免费观看| 青草青草久热精品视频在线观看| 亚洲日韩第一页| 91精品国产综合久久香蕉922| 久久亚洲精品国产亚洲老地址| 亚洲国产精品人久久电影| 中文国产亚洲喷潮| 色婷婷久久av| 久久成年人视频| 国产在线拍揄自揄视频不卡99| 97香蕉久久超级碰碰高清版| 国产精品海角社区在线观看| 亚洲一区二区在线播放| 亚洲韩国日本中文字幕| 亚洲性69xxxbbb| 91超碰caoporn97人人| 日韩免费av一区二区| 国产精品久久久久久久久久久久久久| 欧美激情啊啊啊| 日本久久久久亚洲中字幕| 日韩欧美国产免费播放| 欧美成人中文字幕在线| 97超级碰碰碰久久久| 国产亚洲精品久久久久动| 亚州精品天堂中文字幕| 欧美日韩爱爱视频| 日韩精品在线观看一区二区| 国产精品爽爽爽爽爽爽在线观看| 最近2019年好看中文字幕视频| 日韩av观看网址| 欧美午夜精品久久久久久人妖| 欧美精品在线网站| 欧美国产日韩二区| 亚洲xxxx3d| 热99精品里视频精品| 国产精品久久婷婷六月丁香| 日韩hd视频在线观看| 国产精品影片在线观看| 人妖精品videosex性欧美| 92版电视剧仙鹤神针在线观看| 日韩电影免费观看在线观看| 国产成人免费av| 欧美日韩在线观看视频| 蜜臀久久99精品久久久久久宅男| 国产v综合v亚洲欧美久久| 欧美性xxxx极品hd欧美风情| 久久久久久久香蕉网| 欧美日韩福利电影| 国产精品91一区| 97国产成人精品视频| 5278欧美一区二区三区| 日韩经典第一页| 少妇精69xxtheporn| 久久人人爽人人爽人人片av高清| 精品久久香蕉国产线看观看gif| 97视频在线观看网址| 国色天香2019中文字幕在线观看| 亚洲欧美日韩天堂| 福利一区视频在线观看| 日韩一区二区精品视频| 国产在线视频91| 国产不卡av在线| 日韩av观看网址| 欧美疯狂做受xxxx高潮| 亚洲女人天堂色在线7777| 亚洲白虎美女被爆操| 亚洲精品成人网| 欧美国产中文字幕| 国产精品久久久久高潮| 日韩在线视频一区| 亚洲精品久久视频| 亚洲精品日韩av| 欧美黑人一级爽快片淫片高清| 色综合久久精品亚洲国产| 性亚洲最疯狂xxxx高清| 在线观看国产精品日韩av| 久久久久久com| 51视频国产精品一区二区| 欧美激情国产精品| 国产在线拍揄自揄视频不卡99| 国产精品普通话| 亚州欧美日韩中文视频| 亚洲视频在线观看网站| 亚洲欧美中文在线视频| 亚洲欧美日韩直播| 欧美一区二区三区艳史| 亚洲激情视频网| 亚洲色图国产精品| 亚洲综合在线小说| 国产成人一区二区三区电影| 久久久久久久久久久网站| 亚洲自拍偷拍区| 国产国语刺激对白av不卡| 久久精品亚洲94久久精品| 国产精品久久久久久久av电影| 欧美在线日韩在线| 97久久国产精品| 国产精品主播视频| 亚洲精品456在线播放狼人| www亚洲欧美| 国产在线视频2019最新视频| 麻豆乱码国产一区二区三区| 国产丝袜精品第一页| 日本久久精品视频| 国产99视频在线观看| 日韩中文字幕网址| 亚洲第一中文字幕在线观看| 国产精品白嫩初高中害羞小美女| 欧美在线视频一二三| 精品久久久久久| 国产成人高清激情视频在线观看| 国产精品一区二区久久| 久久久久久久香蕉网| 日韩精品在线视频美女| 亚洲午夜国产成人av电影男同| 亚洲夜晚福利在线观看| 2019国产精品自在线拍国产不卡| 国产精品综合不卡av| 国产网站欧美日韩免费精品在线观看| 91精品视频免费看| 成人做爰www免费看视频网站| 精品国产999| 色妞欧美日韩在线| 久久综合免费视频| 91中文精品字幕在线视频| 日韩精品在线电影| 国产精品成人一区二区三区吃奶| 亚洲偷熟乱区亚洲香蕉av| 国产在线一区二区三区| 亚洲精品日韩av|