[英]Getting app name that broadcast a intent
我正在開發一個可跟蹤GPS使用情況的應用程序(不僅在GPS開啟/關閉的情況下,還可以在定位請求中)。
經過研究,我發現可以使用清單中的以下代碼對此進行存檔。
<receiver android:name=".triggers.TriggerGPS">
<intent-filter>
<action android:name="android.location.GPS_ENABLED_CHANGE" />
</intent-filter>
</receiver>
每次應用程序請求GPS坐標時,此方法都會起作用,我的TriggerGPS類將被調用。
public class TriggerGPS extends BroadcastReceiver {
Calendar c = Calendar.getInstance();
@Override
public void onReceive(Context context, Intent intent) {
String currentDatetime = c.get(Calendar.DAY_OF_MONTH) + "/" + c.get(Calendar.MONTH) + "/" +
c.get(Calendar.YEAR) + " " + c.get(Calendar.HOUR_OF_DAY) + ":" +
c.get(Calendar.MINUTE) + ":" + c.get(Calendar.SECOND);
Log.d("---------log--------", "Intent ( " + intent.getAction() + " ) GPS Status onReceive : " + currentDatetime);
}
}
但是我的應用程序應該創建一個報告,指示每個應用程序正在使用GPS以及該應用程序每天使用GPS獲取坐標的次數。
這里的問題是我不知道如何獲取廣播事件的應用程序名稱。
有辦法嗎?
謝謝你們。
這里的問題是我不知道如何獲取廣播事件的應用程序名稱。
應用程序不會廣播該Intent
。 系統廣播該Intent
。 您無法確定用戶為何更改其設備設置以啟用或禁用位置提供程序。 畢竟,不一定有特定的應用驅動原因。 用戶可以簡單地選擇點擊通知陰影中的圖塊,進入“設置”並切換提供者狀態,或者只是為了咯咯地改變狀態。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.