编辑android服务脚本问问题 [英] Edit android service script ask question

查看:62
本文介绍了编辑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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆