1. 程式人生 > >關於intent之android.intent.action.USER_PRESENT的接收與使用

關於intent之android.intent.action.USER_PRESENT的接收與使用

在做解鎖監聽程式時,一開始採用監聽螢幕SCREEN_ON和SCREEN_OFF這兩個action。 但奇怪的是,這兩個action只能通過程式碼動態的形式註冊,才能被監聽到,使用AndroidManifest.xml 完全監聽不到。 百度後發現這是PowerManager那邊在發這個廣播的時候做了限制,限制只能有register到程式碼中的receiver才能接收。 後來就找各種能靜態註冊AndroidManifest.xml同時能反映使用者解鎖行為的廣播.於是找到android.intent.action.USER_PRESENT. 每個使用者隔一段時間重新開始使用手機時,首先按電源鍵點亮螢幕,緊接著解鎖。android.intent.action.USER_PRESENT就是解鎖時發出的intent. 於是,監聽android.intent.action.USER_PRESENT就能識別使用者進入home介面,進而啟動想啟動的相關服務,包括彈出對話方塊welcome使用者\後臺啟動程序升級服務等等。

AndroidManifest.xml檔案中註冊程式碼

1
<receiver android:name=".ActionReceiver">
2 <intent-filter android:priority="90000">
3 <action android:name="android.intent.action.USER_PRESENT" />
4 </intent-filter>
5 </receiver>

這個intent的說明文件是: public static final String ACTION_USER_PRESENT Since: API Level 3 Broadcast Action: Sent when the user is present after device wakes up (e.g when the keyguard is gone). This is a protected intent that can only be sent by the system. Constant Value: "android.intent.action.USER_PRESENT" 翻譯過來就是: 注意這個action只能有系統發出,是在使用者喚醒機器的時候才會發出這種action. 另外, 真的螢幕解鎖的時候觸發這個廣播,而我們接收這個廣播會受好多條件的制約。

比如有些第三方桌面不會真正的鎖屏,360,LBE等安全軟體對廣播的攔截等等.

相關推薦

關於intentandroid.intent.action.USER_PRESENT接收使用

在做解鎖監聽程式時,一開始採用監聽螢幕SCREEN_ON和SCREEN_OFF這兩個action。 但奇怪的是,這兩個action只能通過程式碼動態的形式註冊,才能被監聽到,使用AndroidManifest.xml 完全監聽不到。 百度後發現這是PowerManag

androidandroid.intent.category.DEFAULT的用途和使用

原文:http://blog.csdn.net/jason0539/article/details/100498991. 要弄清楚這個問題,首先需要弄明白什麼是implicit(隱藏) intent什麼是explicit(明確) intent。    Explicit Int

android元件間信使--IntentAction屬性

Action是指Intent要完成的動作,是一個字串常量。在Intent類裡面定義了大量的Action常量屬性,例如:ACTION_CALL(打電話)、ACTION_EDIT(編輯資料)、ACTION_BATTERY_LOW(低電量廣播action)等。我們也可以自定義Ac

Android--Intent組件帶參傳遞返回

puts 例子 ast pause onstop 圖標 訪問 數據頁面 .com Android 是 單例模式:   表示 application 唯一的。每個應用被啟動的時候,其實是 application 被創建。 Context 上下文:   context 是

Android複習旅--Intent

梳理了幾天,終於開始著手寫Android的複習博文。其中參考了書本和眾多大神的技術文章,總結出一些筆記,供以後參考。 眾所周知,Intent(意圖)是一個訊息傳遞物件,承擔著Android應用程式三大核心元件相互間的通訊功能。 Intent的功能 啟動A

android.intent.action.SCREEN_ON和android.intent.action.SCREEN_OFF待機廣播在TV android開發過程中,不響應原因.

待機廣播,又叫螢幕喚醒廣播:android.intent.action.SCREEN_ON和android.intent.action.SCREEN_OFF 在使用過程中需要主要以下兩點: 1.需要在AndroidManifest.xml添如下許可權: <uses

Error while executing: am start -n "" -a android.intent.action.MAIN -c android.intent.category.LAUNC

Error while executing: am start -n "package_name/package_name.MainActivity" -a android.intent.action

Android-IntentBundle在傳值上的區別

Intent與Bundle在activity之間傳值的區別 Intent的putExtra()方法有: public Intent putExtra(String name, boole

AndroidIntent詳解(二)使用Intent廣播事件及Broadcast Receiver簡介

通過第一篇的講解,我們已經看到了如何使用Intent來啟動新的應用程式元件,但是實際上他們也可以使用sendBroadcast方法來在元件間匿名的廣播訊息。 作為一個系統級別的訊息傳遞機制,Intent可以在程序之間傳送結構化的訊息。因此,通過實現Broadcast Rec

第三方 app 安裝後,android.intent.action.BOOT_COMPLETED 無法啟動應用

因為我們傳送廣播 adb shell am broadcast -a android.intent.action.BOOT_COMPLETED 但是intent 預設會新增 FLAG_INCLUDE_STOPPED_PACKAGES和FLAG_

Android Intent傳遞帶有物件的集合(Serializable傳遞物件和物件集合)

Android中Intent傳遞類物件提供了兩種方式一種是 通過實現Serializable介面傳遞物件,一種是通過實現Parcelable介面傳遞物件。要求被傳遞的物件必須實現上述2種介面中的一種才能通過Intent直接傳遞。Intent中傳遞這2種物件的方法:Bundle

Android開發藍芽篇藍芽配對、連線接收資料

首先是此部分涉及到的類 BluetoothAdapter 藍芽介面卡,即該類裡面包含了藍芽使用中常用到的一些API。 BroadcastReceiver 廣播接收者,不難猜測,藍芽裝置開啟或者關閉、搜尋到周邊裝置就要來通知應用,那麼Android系統就會以廣

Android intent.Action 引數值及對應功能介紹(轉)

4 Intent.Action.ALL_APPS String: andriod.intent.action.ALL_APPS 列出所有的應用。 Input:Nothing. Output:Nothing. 5 Intent.ACTION_ANSWER Stirng:android.intent.action

Android高手進階教程(二十)---AndroidJavaScript方法相互調用!

工程 orien lns asc eat element 加載 一個 creat 在Android中通過WebView控件,可以實現要加載的頁面與Android方法相互調用,我們要實現WebView中的addJavascriptInterface方法,這樣html才能調用a

Android Intent 隱式

應該 abcd 其他 html 防止 code .com activity and 隱式intent xml <!--在意圖過濾器中--> <intent-filter> <action android:name="android.in

ReactNative入門androidrn初始化參數的傳遞

具體實現 如何 code ready instance manage com 返回值 自定義 1、基本理念 RN APP本質上也是原生APP,只是在原生APP中加入了React Native視圖的支持。因此獲取RN APP的啟動參數的方法原生APP是一樣的,獲取啟動參數後再

React-Native開發九 react-navigationAndroid的打包釋出

1前言 RN的開發中正式釋出前需要打包與簽名,然後才能上架各家應用市場。打包需要將js與圖片資原始檔打包進apk檔案中,生成index.android.bundle與index.android.bundle.meta檔案。下面介紹RN開發中打包APK的主要步驟,IOS沒研究過,不再本

Android 本地tomcat伺服器接收處理手機上傳的資料案例演示

上一篇:Android 本地tomcat伺服器接收處理手機上傳的資料之環境搭建     本篇基於上一篇搭建的伺服器端環境,具體介紹Android真機上傳資料到tomcat伺服器的互動過程   場景:Android客戶端上傳使用者名稱和密

Android intent 隱式用法

通過隱式用法從MainActivity跳轉到SecondActivity manifests <activity android:name=".Next"> <intent-filter> <ca

Android Intent使用舉例

1、篩選本地檔案,通過uri獲取檔案的路徑 /** * 選擇本地檔案,獲得檔案的 uri 。 * 通過setType可以設定檔案型別:比如篩選音視訊檔案、圖片等等 */ Intent intent = new Intent(Intent.ACTION_GET_CONTENT); in