Редактирование скрипта Android-Сервис задать вопрос
На этот вопрос, возможно, уже есть ответ здесь:
ActivityManager.getRunningTasks устарел андроид 3 ответы
Это решило мою проблему! Нет, мой вопрос стоит по-другому. Я отредактирую, чтобы объяснить, как это сделать.
у меня есть этот сервис, который запускает поиск другого приложения для android, и если оно не запущено, то оно будет запущено . но у меня есть проблема :
что эта часть
ActivityManager.RunningTaskInfo foregroundTaskInfo = activityManager.getRunningTasks(1).get(0);
getRunningTasks(1). устарел
package com.blaa.bla.blaaa; import android.app.ActivityManager; import android.app.Service; import android.content.Context; import android.content.Intent; import android.os.IBinder; import android.os.PowerManager; import android.support.annotation.Nullable; import java.util.Timer; import java.util.TimerTask; public class servicename extends Service { private static final int INTERVAL = 3000; // poll every 3 secs private static final String YOUR_APP_PACKAGE_NAME = "my_package_name"; private static boolean stopTask; private PowerManager.WakeLock mWakeLock; @Nullable @Override public IBinder onBind(Intent intent) { return null; } @Override public void onCreate() { super.onCreate(); stopTask = false; final ActivityManager activityManager = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE); // Start your (polling) task TimerTask task = new TimerTask() { @Override public void run() { // If you wish to stop the task/polling if (stopTask){ this.cancel(); } // The first in the list of RunningTasks is always the foreground task. ActivityManager.RunningTaskInfo foregroundTaskInfo = activityManager.getRunningTasks(1).get(0); String foregroundTaskPackageName = foregroundTaskInfo .topActivity.getPackageName(); // Check foreground app: If it is not in the foreground... bring it! if (!foregroundTaskPackageName.equals(YOUR_APP_PACKAGE_NAME)){ Intent LaunchIntent = getPackageManager().getLaunchIntentForPackage(YOUR_APP_PACKAGE_NAME); startActivity(LaunchIntent); } } }; Timer timer = new Timer(); timer.scheduleAtFixedRate(task, 0, INTERVAL); } @Override public void onDestroy(){ stopTask = true; if (mWakeLock != null) mWakeLock.release(); super.onDestroy(); } }
Что я уже пробовал:
ничего особенного просто какой то поиск в гугле