Android получает объект активности текущей деятельности переднего плана
Я создаю чат-клиент, и я хочу иметь возможность получить текущий запущенный объект активности (а не только его имя).
Мне нужно это для того, чтобы получить объект намерения этой деятельности, чтобы проверить, были ли какие-либо дополнения..
возможно ли это сделать?
у меня есть этот код:
ActivityManager mActivityManager = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);
List<ActivityManager.RunningTaskInfo> RunningTask = mActivityManager.getRunningTasks(1);
ActivityManager.RunningTaskInfo ar = RunningTask.get(0);
return ar.topActivity.toString();
но это только дает мне его имя, и мне нужен его объект..
1 ответ
Я почти уверен, что вы не можете получить прямой доступ к объекту таким образом, так как это будет брешь в безопасности: вы можете просто получить доступ к любому (как не только к своему) действующему действию таким образом и взаимодействовать с ними или убивать их по своему вкусу.
Может быть, вы должны пересмотреть свой дизайн.
Первый дешевый взлом, который мне приходит в голову и который близок к тому, что вы сделали, - это поддерживать статическую карту всех действий, которые вы запускаете, с ассоциированным именем в качестве ключа, чтобы получить действие благодаря его имени.