簡體   English   中英

記錄 Android 用戶喚醒/解鎖

[英]Log Android user wakeup/unlock

我正在嘗試創建一個具有持續運行服務的應用程序,該服務將在用戶每次解鎖或將手機狀態從屏幕關閉更改為屏幕打開時記錄並顯示給用戶。 如果不通過 PC 使用 Log cat,這可能嗎?

是的,您可以使用廣播接收器進行操作。 Android系統始終針對指定更改發送廣播。 您可以使用廣播接收器處理此廣播。

例:

我們將創建一個新的廣播接收器以處理屏幕打開和屏幕關閉狀態:

    public class PhoneStateBroadcastReceiver extends BroadcastReceiver {
      @Override
      public void onReceive(Context context, Intent intent) {
        //we will handle here the activities which will tell us that
        // the screen state has changed
        if(intent.getAction().equals(Intent.ACTION_SCREEN_OFF)){
           //write log that the screen is off
        }else if(intent.getAction().equals(Intent.ACTION_SCREEN_ON)){
           //write log that the screen is on
        }
      }
   }

您所需要做的就是在Android Manifest.xml文件中聲明此BroadcastReceiver:

 <receiver android:name="yourpackage.PhoneStateBroadcastReceiver">
        <intent-filter>
        </intent-filter>
 </receiver>

然后,您應該在服務onCreate方法上啟動PhoneStateBroadcastReceiver:

//...
public void onCreate(){
   IntentFilter filter = new IntentFilter();
   filter.addAction(Intent.ACTION_SCREEN_OFF);
   filter.addAction(Intent.ACTION_SCREEN_ON);

   PhoneStateBroadcastReceiver pSReciever = new PhoneStateBroadcastReceiver();
   registerReceiver(pSReciever, filter);
}

你有沒有實現過這個? 我想要一個應用程序,它只顯示屏幕更改狀態時的時間戳歷史記錄。 只是。

我可以自己做一些編碼,只是設置整個應用程序開發環境是令人生畏的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM