天天看點

判斷廣播是否已注冊

在做Android項目時,有時候需要知道某個BroadcastReceiver是否已經注冊,進而決定是發送廣播讓Receiver處理,還是通過其他方式處理。

那麼,如何判斷某個廣播接收者BroadcReceiver是否已經注冊了呢?

PackageManager 類中提供了 List<ResolveInfo> queryBroadcastReceivers(Intent intent, int flags) 方法來查詢Intent對應的所有廣播接收者。

使用舉例:

    Intent intent = new Intent();

    intent.setAction("com.xxx.powersaving.INSTALLAPP");

    intent.putExtra("path", apkPath);  

    PackageManager pm = context.getPackageManager();

    List<ResolveInfo> resolveInfos = pm.queryBroadcastReceivers(intent, 0);

    if(resolveInfos != null && !resolveInfos.isEmpty()){

        //查詢到相應的BroadcastReceiver

    }  

    本文轉自 一點點征服   部落格園部落格,原文連結:http://www.cnblogs.com/ldq2016/p/6955679.html,如需轉載請自行聯系原作者

繼續閱讀