2013-08-10 21 views
10

ich folgenden Code verwenden zu beginnen Einstellung ich die Einstellung Aktivität gestartet werden soll, die von Android-In gestartet wirdStart-Aktivität Android mit Klassennamen

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); 

Antwort

21

Sie diese Schnipsel verwenden können Settings Aktivität zu öffnen:

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

Wenn Sie wissen, welche Aktivität Sie öffnen müssen, können Sie den Namen und den Paketnamen finden, wie ich here erwähnt habe.

+0

Dies ist k, wenn ich den Namen der Klasse wissen, aber was, wenn ich weiß nicht? – Tushar

+0

@Tushar Ich habe die Antwort bearbeitet, bitte sehen Sie es noch einmal. – hasanghaforian

0

Es gibt viele Aktionskonstanten in der Settings Klasse, die verwendet werden können, um eine Absicht zu erstellen, die eine Aktivität für die bereitgestellte Untereinstellung startet oder einfach die App Einstellungen abhängig von der Aktion startet.

Zum Beispiel:

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 
Verwandte Themen