0
我正在開發一個跟蹤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獲得德每天座標。
這裏的問題是,我無法弄清楚如何獲取廣播事件的應用程序名稱。
有什麼辦法可以做到這一點?
謝謝大家。
但是,這個接收「android.location.GPS_ENABLED_CHANGE」沒有跟蹤開/關之間的GPS的變化狀態。它正在跟蹤GPS座標的請求。 –
但我明白你的意思。謝謝你的幫助! :D –
我明白了。另一個,我發現知道GPS應用程序(任何應用程序)使用的是使用PASSIVE_PROVIDER。 https://developer.android.com/reference/android/location/LocationManager.html#PASSIVE_PROVIDER –