shantanu
shantanu

Reputation: 2418

ApplicationInfo for Settings pages in android

I'm trying to get the ApplicationInfo for Settings.ACTION_ACCESSIBILITY_SETTINGS or Settings.ACTION_BATTERY_SAVER_SETTINGS, so that I can launch them directly.

I tried following steps but it's return setting's ApplicationInfo.

private static final String[] SETTINGS_ACTION_MENUS = new String[]{
      Settings.ACTION_ACCESSIBILITY_SETTINGS,Settings.ACTION_ADD_ACCOUNT};


public void getSettingPages(){
    for(String menu : SETTINGS_ACTION_MENUS){
        final Intent intent = new Intent(menu);
        ComponentName componentName = intent.resolveActivity(packageManager);
        if(componentName != null){
            try {
                ApplicationInfo info = packageManager.getApplicationInfo(componentName.getPackageName(),0);
                if(packageManager.getLaunchIntentForPackage(info.packageName) != null){
                    launchableApps.add(info);
                }
            } catch (PackageManager.NameNotFoundException e) {
                e.printStackTrace();
            }
        }
    }
}

Upvotes: 0

Views: 206

Answers (1)

CommonsWare
CommonsWare

Reputation: 1006654

I tried following steps but it's return setting's ApplicationInfo

That is because those Intent actions are tied to activities in the Settings app. Individual activities do not have their own ApplicationInfo.

Upvotes: 1

Related Questions