【问题标题】:WakeLock not releasing and Screen isn't turning offWakeLock 未释放且屏幕未关闭
【发布时间】:2012-10-08 17:59:26
【问题描述】:

我正在使用警报管理器来调用活动,并且我正在使用wake locker class onRecive() 来唤醒手机,然后在活动结束后调用 WakeLocker.release() 但屏幕仍保持打开状态.. .

接收类:

public class MyScheduledReceiver extends BroadcastReceiver {


@Override
public void onReceive(Context context, Intent intent) {
    WakeLocker.acquire(context);

Activity.class

@Override
    protected void onPause() {
        // TODO Auto-generated method stub
        super.onPause();
        WakeLocker.release();
        finish();
        }

我已经把它放在了onPause(),onStop()的任何地方……东西不会释放,我的应用关闭后屏幕也不会自动关闭……

【问题讨论】:

  • WakeLocker 类是什么?
  • 对我来说看起来很对。你怎么知道它没有发布?是因为屏幕不会立即关闭吗?如果是这样,那是因为您的 WakeLocker 类中有 PowerManager.ON_AFTER_RELEASE。

标签: android wakelock android-wake-lock


【解决方案1】:

确保您请求许可

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

【讨论】:

    【解决方案2】:

    您正在广播接收器中启动唤醒锁并在活动中停止它。 您正在引用 2 个不同的唤醒锁实例。您应该从 onreceive 开始活动并在 onresume 中获取唤醒锁,然后如果您希望它发生在 onpause 中仍然释放。

    你不应该启动任何应该在广播接收器中存在一段时间的东西,因为接收器会尽快销毁。

    【讨论】:

    • 我在获得唤醒锁之后就开始 onReceive... Intent scheduledIntent = new Intent(context, Activity.class); scheduledIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); context.startActivity(scheduledIntent);
    • 这一行:WakeLocker.acquire(context); 应该从您的onReceive 中删除,然后添加到您启动的活动的onResume 中。使用您的问题中的代码,您在onReceive 中创建一个WakeLock,然后在onPause 中发布另一个。
    • 不起作用...我应该能够在广播接收器中获取 WL 以在广播接收器启动的活动结束时唤醒手机并释放 WL。
    • 如果管理得当,它可以使用静态唤醒锁。您能否编辑您的问题以显示您在发布前如何在 onReceive 和 Activity 中创建 WakeLock?
    【解决方案3】:

    试试这个

    PowerManager pm;
    PowerManager.WakeLock wakeLock;
    
    pm = (PowerManager) getSystemService(Context.POWER_SERVICE);
                        wakeLock = pm.newWakeLock(PowerManager.FULL_WAKE_LOCK,
                                "x2_wakelook");
    
    
    wakeLock.acquire();
    wakeLock.release();
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多