Java 安卓应用程序don';我不能在睡眠模式下工作

Java 安卓应用程序don';我不能在睡眠模式下工作,java,android,Java,Android,我有一个带计时器的应用程序。当我按下电源按钮时,我的应用程序进入睡眠模式并停止计时。我应该怎么做才能继续工作。下面是我非常简单的定时器代码 Thread t = new Thread(){ @Override public void run() { while (!isInterrupted()){ try { Thread.sleep(1000); i++;

我有一个带计时器的应用程序。当我按下电源按钮时,我的应用程序进入睡眠模式并停止计时。我应该怎么做才能继续工作。下面是我非常简单的定时器代码

Thread t = new Thread(){
    @Override
    public void run() {
        while (!isInterrupted()){
            try {
                Thread.sleep(1000);
                i++;
                Log.e("pokaz "," i "+i);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
        }
    }
};

要在后台运行应用程序,您需要使用
服务
IntentService
广播接收器


服务中执行线程工作

我解决了我的问题。我在活动中编写此代码

PowerManager pm;
    PowerManager.WakeLock wl;
    pm = (PowerManager) getActivity().getSystemService(Context.POWER_SERVICE);
    wl = pm.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "My Tag");
    wl.acquire();
然后编写这个代码

android:keepScreenOn="true"
但现在我的应用程序在后台,API版本是kitkat,一切正常。当我在API lolipop中测试我的应用程序,进入睡眠模式,下一次打开手机时,我会看到消息“不幸的是,我的应用程序已经停止”。为什么?

看看这个: