2013-08-10 13 views
10

Sto usando seguente codice per iniziare a impostare voglio lanciare l'attività di impostazione che viene avviato da ins AndroidInizio Attività Android con il nome della classe

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

risposta

21

È possibile utilizzare questo frammento per aprire Settings attività:

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

Se si conosce l'Attività da aprire, è possibile trovare il nome e il nome del pacchetto come indicato in precedenza here.

+0

Questo è k se conosco il nome della classe, ma cosa succede se non so? – Tushar

+0

@Tushar Ho modificato la risposta, per favore guarda di nuovo. – hasanghaforian

0

Esistono numerose costanti di azione nella classe Settings che possono essere utilizzate per creare un intent che avvierà un'attività per l'impostazione secondaria fornita o semplicemente per avviare l'app Impostazioni in base all'azione.

Ad esempio:

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 
Problemi correlati