के लिए इरादा फ़िल्टर प्राप्त करें मैं अन्य अनुप्रयोगों के लिए android.intent.action.BOOT_COMPLETED
को संभालने वाले रिसीवर की एक सूची प्राप्त करने का प्रयास कर रहा हूं।रिसीवर
मैं इस के साथ कि कार्रवाई के साथ ही क्षुधा प्राप्त कर सकते हैं:
final List<PackageInfo> packs = pm.getInstalledPackages(PackageManager.GET_RECEIVERS);
for (final PackageInfo p : packs) {
ActivityInfo[] receivers = p.receivers;
if (receivers != null) {
for (ActivityInfo ai : receivers) {
Log.i(TAG, "receiver: " + ai.name);
}
}
}
बाद मैं रिसीवर मिल मैं क्या बता सकता:
final PackageManager pm = getPackageManager();
final Intent intent = new Intent("android.intent.action.BOOT_COMPLETED");
final List<ResolveInfo> activities = pm.queryBroadcastReceivers(intent, 0);
for (ResolveInfo ri : activities) {
Log.i(TAG, "app name: " + ri.loadLabel(pm));
}
मैं इस कोड के साथ रिसीवर की एक सूची प्राप्त कर सकते हैं इरादा-फ़िल्टर/कार्रवाई है। यदि किसी ऐप में दो रिसीवर हैं तो मुझे यह जानने की ज़रूरत है कि कौन सा android.intent.action.BOOT_COMPLETED
संभालता है। क्या कोई तरीका है कि मैं यह जानकारी प्राप्त कर सकता हूं?
ठीक है, मुझे लगता है कि मैंने इसे समझ लिया। अंतिम पैकेज प्रबंधक अपराह्न = getPackageManager(); अंतिम इरादा इरादा = नया इरादा ("android.intent.action.BOOT_COMPLETED"); अंतिम सूची गतिविधियों = pm.queryBroadcastReceivers (इरादा, 0); (ResolveInfo ri: गतिविधियां) { Log.i (TAG, "ऐप नाम:" + ri.loadLabel (अपराह्न)); // मुझे क्या चाहिए: ActivityInfo ai = ri.activityInfo; अगर (एआई! = शून्य) { Log.i (टैग, "रिसीवर:" + ai.name); } } पर्याप्त आसान है। –
हाय जेरेड, आपको अपने आप को इस प्रश्न का उत्तर पोस्ट करना चाहिए, फिर आप कोड को अच्छी तरह से स्वरूपित कर सकते हैं। चिंता न करें, अपने उत्तर को अपने प्रश्न को स्वीकार करना ठीक है! –
धन्यवाद दान। मैं ऐसा करने गया लेकिन यह मुझे तब तक नहीं जाने देगा जब से मैं एक नया सदस्य हूं और मुझे अपने प्रश्न का उत्तर देने के लिए 8 घंटे इंतजार करना पड़ता है। मैं 8 घंटे ऊपर होगा :) –