编辑android服务脚本问问题 [英] Edit android service script ask question
本文介绍了编辑android服务脚本问问题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
这个问题可能已经有了答案:
ActivityManager.getRunningTasks已被弃用android 3答案
这解决了我的问题!不,我的问题不同。我将编辑解释如何。
我有这项服务开始搜索另一个Android应用程序,如果它没有运行它将运行它。但我有一个问题:
这一部分
This question may already have an answer here:
ActivityManager.getRunningTasks is deprecated android 3 answers
That solved my problem! No, my question is different. I will edit to explain how.
i have this service that start search for another android app and if it is not running it will run it . but i have a problem :
that this part
ActivityManager.RunningTaskInfo foregroundTaskInfo = activityManager.getRunningTasks(1).get(0);
getRunningTasks(1)。已弃用
getRunningTasks(1). is deprecated
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();
}
}
我的尝试:
没有什么东西只是搜索谷歌
What I have tried:
no thing just some search on google
推荐答案
参见ActivityManager.getRunningTasks(int) [ ^ ]。
这篇关于编辑android服务脚本问问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文