Android – 唤醒锁无法正常获取,应用程序需要继续在待机状态下运行

在我的应用程序中,在主要活动的onCreate()方法中,我正在创建唤醒锁定,以便在手机进入待机/屏幕关闭cpu将继续运行.

同样在onCreate方法中,我有意创建一个使用加速度计的服务.当应用程序打开并监控加速度计值时,此服务需要持续运行(我知道这对电池不利,但我需要它来做).这是我目前的代码,服务开始很好.

public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);  

        PowerManager pm = (PowerManager) getSystemService(POWER_SERVICE);
        PowerManager.WakeLock wl = pm.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK,"Howaya");
        wl.acquire();

        if (appStart == true)  
        { 
            Intent AccelService = new Intent(this,Accelerometer.class);
            AccelService.putExtra("unreg",false);
            startService(AccelService);
        }
        appStart = false;
  }

我的清单中设置了以下权限 –

<uses-permission android:name="android.permission.WAKE_LOCK" />

我尝试过不同的锁 – 昏暗的屏幕和全亮度也无济于事.我在logcat上的输出在这里

F/PowerManager(15628): android.util.Log$TerribleFailure: WakeLock finalized while still held: Howaya
F/PowerManager(15628):  at android.util.Log.wtf(Log.java:260)
F/PowerManager(15628):  at android.util.Log.wtf(Log.java:239)
F/PowerManager(15628):  at android.os.PowerManager$WakeLock.finalize(PowerManager.java:329)
F/PowerManager(15628):  at dalvik.system.NativeStart.run(Native Method)

我见过有人说部分唤醒锁没有像他们应该做的那样工作,比如这个链接Google standby error page但这个是去年发布和关闭所以我不知道是不是这样,有人可以帮忙吗?关于最后一点我也有HTC Desire,谢谢.

解决方法

In my app,in the onCreate() method of the main activity I am creating a wake lock so that the cpu will keep running if the phone goes on standb/screen turns off.

请在布局中的一个小部件上使用android:keepScreenOn.对于活动而言,这比手动处理WakeLock要安全得多.此外,您不需要获得WAKE_LOCK权限,IIRC.

My output on logcat is here

错误是因为您从未发布WakeLock.请不要泄漏WakeLocks.

现在,你设法写了所有这些散文并包含所有这些列表,你忘记了一件小事:实际上告诉我们你的问题是什么.对于像StackOverflow这样的问答网站来说,这是一个非常重要的项目.而且,不,“请有人帮忙吗?”当你从未定义你想要接收的“帮助”时,这不算是一个问题.

相关文章

Android性能优化——之控件的优化 前面讲了图像的优化,接下...
前言 上一篇已经讲了如何实现textView中粗字体效果,里面主要...
最近项目重构,涉及到了数据库和文件下载,发现GreenDao这个...
WebView加载页面的两种方式 一、加载网络页面 加载网络页面,...
给APP全局设置字体主要分为两个方面来介绍 一、给原生界面设...
前言 最近UI大牛出了一版新的效果图,按照IOS的效果做的,页...