Я разрабатываю приложение, которое требует проверки того, работает ли какое-либо приложение. Я использую следующий код, но он всегда говорит мне, используя сообщение Toast, что приложение, которое, кстати, работает, не является. используетсяКак проверить, работает ли конкретное приложение или нет в Android
Код для функции:
boolean isNamedProcessRunning(String processName){
if (processName == null)
return false;
ActivityManager manager =
(ActivityManager) this.getSystemService(ACTIVITY_SERVICE);
List<RunningAppProcessInfo> processes = manager.getRunningAppProcesses();
for (RunningAppProcessInfo process : processes)
{
if (processName.equals(process.processName))
{
return true;
}
}
return false;
}
Вызов функции:
if(isNamedProcessRunning("WhatsApp")){
Toast.makeText(this.getBaseContext(),"WhatsApp running", Toast.LENGTH_SHORT).show();
}
else{
Toast.makeText(this.getBaseContext(),"WhatsApp Not running", Toast.LENGTH_SHORT).show();
}
попробуйте напечатать все manager.getRunningAppProcesses() и проверить актуальное имя, это действительно просто ... вы можете проверить имя процесса: 'if (processName.contains (process.processName))' –
Этот API - о котором вы всегда предупреждали, в зависимости от - теперь устарели, вы не должны ожидать, что он будет работать над последними релизами или в будущем. Цель проекта заключается в том, что * вы не должны быть в состоянии узнать, что еще работает *, поскольку эта информация подвергалась злоупотреблениям плохо продуманными приложениями. И «бег» имеет мало значения для Android для начала. –