سؤال

أحاول إنشاء برنامج يعرض جميع التطبيقات النشطة.

لقد بحثت في كل مكان ولكن لم أتمكن إلا من العثور على رمز يوضح اسم الحزمة فقط.

سيكون من المفيد مساعدة إذا كنت قد تخبرني بالماجستير كيفية عرض كل النشطين اسم التطبيق

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

المحلول

هل حاولت استخدام ActivityManager.getRunningappProcesses ()؟ هنا هو رمز عينة لاسترداد الأسماء:

ActivityManager am = (ActivityManager)this.getSystemService(ACTIVITY_SERVICE);
List l = am.getRunningAppProcesses();
Iterator i = l.iterator();
PackageManager pm = this.getPackageManager();
while(i.hasNext()) {
  ActivityManager.RunningAppProcessInfo info = (ActivityManager.RunningAppProcessInfo)(i.next());
  try {
    CharSequence c = pm.getApplicationLabel(pm.getApplicationInfo(info.processName, PackageManager.GET_META_DATA));
    Log.w("LABEL", c.toString());
  }catch(Exception e) {
    //Name Not FOund Exception
  }
}

نصائح أخرى

إذا كنت تحصل على اسم الحزمة ، فيجب أن تتمكن من الحصول على معلومات إضافية حول التطبيق باستخدام Packagemanager:

http://developer.android.com/reference/android/content/pm/packagemanager.html

هناك طرق مباشرة للحصول على أيقونة التطبيق ، ApplicationInfo و ActivityInfo كائنات. خارج الجزء العلوي من رأسي ، لا أعرف أي شخص سيوجهك إلى الاسم القابل للقراءة ، ولكن إذا لم يكن الوصول إليه بشكل مباشر من خلال إحدى الطرق هنا ، فيجب أن يكون الوصول إليه من موارد التطبيق (يمكن الوصول إليه أيضًا من هذه الفئة).

لقد قدمت بعض الافتراضات غير الصحيحة عند إنشاء هذا المنشور وأدركت الآن أنها غير صحيحة. - تم الحذف

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