سؤال

أنا أكتب تطبيقًا ، يحتوي على نظام معياري إلى حد ما. يحتوي على تطبيق أساسي ، وبعض التطبيقات ، التي تتكون من واحد Service, ، وهذا ينفذ الواجهة المطلوبة. تتبعت الدليل لإنشاء اتصال IPC. لكن الآن أحتاج إلى الحصول على جميع الخدمات ، التي تم تثبيتها على النظام ، والتي يمكن للتطبيقي الأساسي wotk معها. كيف أقوم بهذا العمل؟ أعني ، هل هناك أي طريقة للاحتفال Service التطبيقات التي تحتوي على نوع من العلامة ، ثم تصفية النتائج ، التي قدمتها PackageManager#getInstalledPackages() بناء على قيمة العلامة هذه؟ ما هي الممارسة الشائعة للقيام بذلك؟

هل كانت مفيدة؟

المحلول

قم بإنشاء نية مخصصة ستستجيب لها أنشطتك. يمكنك بعد ذلك استخدام packagemanager.queryIntentServices للحصول على قائمة خدمات المطابقة الخاصة بك. يمكنك الحصول على معلومات الحزمة ، وما إلى ذلك من المعلومات المضمنة في ResolveInfos.

من الناحية المثالية ، كنت تستخدم هذه النوايا فعليًا لاستدعاء الخدمات ، ولكن يمكنك دائمًا استخدامها كعلامات تحديد هوية وتتراجع عن آلية الربط التي كنت تستخدمها من قبل.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top