Java: необходимо каким-то образом сократить этот код
У меня есть этот fragment кода, который я хотел бы сократить …
PackageManager p = context.getPackageManager(); final List appinstall = p.getInstalledPackages(PackageManager.GET_PERMISSIONS); PackageManager pro = context.getPackageManager(); final List apllprovides = pro.getInstalledPackages(PackageManager.GET_PROVIDERS);
Я серьезно раздражен, чтобы сделать это снова и снова, чтобы добавить новые разрешения для флага, и мне нужно сделать это пару раз, есть ли более короткий метод, в котором я мог бы поместить все флаги в одно и то же определение … ???
Позвольте мне сказать так, могу ли я сделать это … ??? (конечно, это дает ошибку, но что-то подобное ..)
- Java: индекс массива из исключения исключений
- Как программно удалить файлы на Android?
- Получить список стран из ОС Android
- Добавить ведущие нули в число в Java?
- Как настроить панель выполнения на Android
PackageManager p = context.getPackageManager(); final List appinstall = p.getInstalledPackages(PackageManager.GET_PERMISSIONS).addFlag(PackageManager.GET_PROVIDERS);
- Как избежать избыточности кода конструктора в Java?
- Несколько версий Java, работающих одновременно под Windows
- Объявление float, почему default type double?
- java.io.FileNotFoundException: этот файл не может быть открыт в качестве дескриптора файла; он, вероятно, сжат
- API формата номера телефона Java
- Сравнение значений Integer в Java, странное поведение
- Что такое обратный вызов в java
- Android Telegram App -> java.lang.UnsatisfiedLinkError: не реализована реализация для void
Если это тот же синтаксис, что и C #, и флаги установлены правильно, вы можете сделать это:
PackageManager p = context.getPackageManager(); final List appinstall = p.getInstalledPackages(PackageManager.GET_PERMISSIONS | PackageManager.GET_PROVIDERS)
public void usegetPackageInfo(){ // final ListView lw = (ListView) findViewById(R.id.listView1); PackageManager p = lw.getContext().getPackageManager(); final List appinstall = p.getInstalledPackages(PackageManager.GET_PERMISSIONS | PackageManager.GET_PROVIDERS); final TextView tw = (TextView) findViewById(R.id.textView1); Iterator it = appinstall.iterator(); while (it.hasNext()) { PackageInfo rf = (PackageInfo) it.next(); tw.append(rf.toString()); } }
проверить Андроид Документация: для разрешений: http://developer.android.com/guide/topics/manifest/uses-permission-element.html
для поставщиков: http://developer.android.com/guide/topics/manifest/provider-element.html
До этого Полностью изучите документацию