2013-08-10 13 views
10

używam następujący kod, aby rozpocząć ustawianie Chcę uruchomić aktywność wiązania który jest uruchamiany przez android insrozpocząć działalność Android z nazwą klasy

PackageList allowedAppsPackageName=CallHelper.Ds.getPackageList(); 
      PackageManager manager = CallDetectService.packageManager; 
      Intent mainIntent = new Intent(Intent.ACTION_MAIN, null); 
      mainIntent.addCategory(Intent.CATEGORY_LAUNCHER); 

     final List<ResolveInfo> apps = manager.queryIntentActivities(mainIntent, 0); 
     Collections.sort(apps, new ResolveInfo.DisplayNameComparator(manager)); 
     final int count = apps.size(); 
     ResolveInfo info=new ResolveInfo();; 
     GridViewAppList.clear(); 

       for (int i = 0; i < count; i++) 
       { 

         info= apps.get(i); 
         if(info.activityInfo.applicationInfo.packageName.contains("setting")) 
          break; 

       } 
       ApplicationInfo application = new ApplicationInfo(); 

       application.title = info.loadLabel(manager); 
       application.setActivity(new ComponentName(
         packageName, 
         info.activityInfo.name), 
         Intent.FLAG_ACTIVITY_NEW_TASK 
         | Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED); 
       application.icon = info.activityInfo.loadIcon(manager); 
       application.packagename=packageName; 
       Log.i("PKG", application.packagename+" "+packageName+" "+info.activityInfo.name); 
       GridViewAppList.add(application); 

Odpowiedz

21

Można użyć tego fragmentu kodu do otwarcia Settings Aktywny:

Intent intent=new Intent(); 
intent.setComponent(new ComponentName("com.android.settings", "com.android.settings.Settings")); 
startActivity(intent); 

Jeśli wiesz, jakie działanie musisz otworzyć, możesz znaleźć jego nazwę i nazwę pakietu, o czym wspomniałem: here.

+0

To jest k jeśli wiem, nazwę klasy, ale co jeśli ja nie wiem? – Tushar

+0

@Tushar Edytowałem odpowiedź, proszę zobaczyć to jeszcze raz. – hasanghaforian

0

Istnieje wiele stałych działania w klasie Settings, które można wykorzystać do utworzenia intencji, która uruchomi działanie dla podanego ustawienia lub po prostu uruchomi aplikację Ustawienia w zależności od akcji.

Na przykład:

intent = new Intent(Settings.ACTION_SETTINGS); // ACTION_SETTINGS will start the Settings app 

intent = new Intent(Settings.ACTION_WIFI_SETTINGS); // ACTION_WIFI_SETTINGS will show the WiFi settings 
Powiązane problemy