getPackageManager()
- это метод класса «Context», поэтому вы можете вызывать его из любого объекта, который расширяет «Context». Класс Activity
расширяет контекст, а ваш основной класс расширяет Activity
, так что вы можете вызывать getPackageManager()
из вашего объекта основного класса. Если ваш класс не расширяется Context
(это относится к классу getApps
), вы не можете вызвать getPackageManager()
из него. Сначала вам нужно получить контекст своей деятельности.
EDIT:
ОК, вам нужно передать свою активность этому классу:
в классе getApps добавить
private Context parent = null;
public getApps(Context _parent) // a constructor that receives the context as parameter
{
parent = _parent;
}
public String getInfo() { // your implementation here... }
и изменить getPackageManager()...
на parent.getPackageManager()...
в своей основной деятельности создайте объект getApps и затем вызовите его, чтобы получить информацию:
getApps appsGetter = new getApps(this); // "this" is your activity actually,which extends Context
String info = appsGetter.getinfo();
теперь вам все еще нужно реализовать getInfo (), но это не должно быть так сложно. и еще одна вещь, классы в Java начинаются с заглавной буквы, поэтому вместо getApps
можно назвать его GetApps
или AppsGetter
.