簡體   English   中英

獲取廣播意圖的應用名稱

[英]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.

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