首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >安卓BroadcastReceiver不支持IntentFilter

安卓BroadcastReceiver不支持IntentFilter
EN

Stack Overflow用户
提问于 2016-05-02 08:47:51
回答 1查看 348关注 0票数 0
代码语言:javascript
复制
The control is not Entering inside the --> receiver = (BroadcastReceiver) (context, intent) -> { ===== loop

我正在尝试锁定屏幕(安卓),它没有进入循环后创建BroadcastReceiver对象。我正在尝试使用接近感应器锁定屏幕。

代码语言:javascript
复制
public class ScreenLockerService extends Service {

    protected static final String TAG = ScreenLockerService.class.getCanonicalName();
    BroadcastReceiver receiver;

    @Override
    public void onCreate() {
        super.onCreate();
        Log.d(TAG, "onCreate");
        ProximitySensor.getInstance(getApplicationContext());
        IntentFilter filter = new IntentFilter();
        filter.addAction(Intent.ACTION_SCREEN_ON);

        System.out.println("Screen is being locked");
//        ScreenLock.lockScreen(getApplicationContext());
  //      Vibration.vibrate(getApplicationContext());
receiver = (BroadcastReceiver) (context, intent) -> {
                System.out.println("Screen....");

                try {
                    ProximitySensor proximitySensor = ProximitySensor.getInstance(context);
                    if (proximitySensor.hasProximitySensorHardware() && proximitySensor.isClose()) {
                        Log.d(TAG, "lock");
                        if (CallStatus.isCallStateIdle(context)) {
                            ScreenLock.lockScreen(context);
                            Vibration.vibrate(context);
                        }
                    }
                } catch (Exception e) {
                    Log.d(TAG, "Exception occurred: " + e);
                }
            }
        };
        registerReceiver(receiver, filter);
    }
EN

回答 1

Stack Overflow用户

发布于 2016-05-02 15:42:01

您是否已注册您的广播接收器?如果没有,请注册它,如果您只是想锁定您的设备,您可以使用设备策略管理器或密钥进行锁定

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36973623

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档