Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/328.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/197.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如果即使在满足条件的情况下仍不工作,则在内部编码_Java_Android - Fatal编程技术网

Java 如果即使在满足条件的情况下仍不工作,则在内部编码

Java 如果即使在满足条件的情况下仍不工作,则在内部编码,java,android,Java,Android,我是安卓应用开发新手。我正在开发一个应用程序,其中有一个receiver类。我厌倦了if语句。即使满足条件,它内部的代码也不会执行。以下是我的代码: MyReceiver.java package eg.app7; import android.app.admin.DevicePolicyManager; import android.content.BroadcastReceiver; import android.content.Context; import android.conten

我是安卓应用开发新手。我正在开发一个应用程序,其中有一个receiver类。我厌倦了if语句。即使满足条件,它内部的代码也不会执行。以下是我的代码:

MyReceiver.java

package eg.app7;

import android.app.admin.DevicePolicyManager;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.util.Log;
import android.widget.Toast;

public class MyReceiver extends BroadcastReceiver {
public static boolean screenOff;
DevicePolicyManager dpm;

SharedPrefs sharedPrefs;



public MyReceiver() {
}

@Override
public void onReceive(Context context, Intent intent) {
    //Toast.makeText(context,"Changed",Toast.LENGTH_SHORT).show();

    System.out.println("onReceive ");
    if (intent.getAction().equals(Intent.ACTION_SCREEN_OFF)) {
        screenOff = true;
    } else if (intent.getAction().equals(Intent.ACTION_SCREEN_ON)) {
        screenOff = false;
    }


    // The below if statement is my problem
    if(sharedPrefs.getBoolValue(context,"hhmmkey")) {
        Intent i = new Intent(context, TimePinService.class);
        context.startService(i);
    }



  }
}

请告诉我哪里错了

您确定已将
操作屏幕关闭
操作屏幕打开
添加到意向过滤器中吗

public void registerMyReceiver() {
    MyReceiver myReceiver = new MyReceiver();
    IntentFilter intentFilter = new IntentFilter();

    intentFilter.addAction(Intent.ACTION_SCREEN_OFF);
    intentFilter.addAction(Intent.ACTION_SCREEN_ON);

    registerReceiver(myReceiver, intentFilter);
}

谢谢你们的建议,伙计们。但我找到了一个好办法。我将if块放在一个服务类中,然后由receiver类启动该服务。很好用

对不起,你收到了一些错误信息?如果你改变了上一次对上下文的承诺。startActivity(i)?哦,我现在明白了,这是一项服务…不,我没有收到任何错误消息。这应该是上下文;您的舒尔产品是否满足条件?在那里敬酒检查一下。我看不出
sharedPrefs
是从哪里发起的。它发起了吗?