Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/199.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
Android 设备锁定(休眠)时广播接收器未工作_Android_Service_Broadcastreceiver_Alarmmanager - Fatal编程技术网

Android 设备锁定(休眠)时广播接收器未工作

Android 设备锁定(休眠)时广播接收器未工作,android,service,broadcastreceiver,alarmmanager,Android,Service,Broadcastreceiver,Alarmmanager,当我锁定手机时,它不会调用api。。。。 但当手机未锁定时,它的工作状态会很好 在mystartActivity中 public void startUserService() { try { PowerManager.WakeLock wl; PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE);

当我锁定手机时,它不会调用api。。。。 但当手机未锁定时,它的工作状态会很好

在mystartActivity中

public void startUserService()
    {
        try
        {
             PowerManager.WakeLock wl;
             PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE);
            wl = pm.newWakeLock(PowerManager.FULL_WAKE_LOCK, "ROMS Lock");
            wl.acquire();
            Intent intent = new Intent(Start_Activity.this, PermitService.class);
            intent.putExtra("start", true);
            PendingIntent pintent = PendingIntent.getBroadcast(Start_Activity.this, 0, intent, 0);
            AlarmManager alarm = (AlarmManager) getSystemService(Context.ALARM_SERVICE); //Constant.serviceTime
            alarm.setRepeating(AlarmManager.RTC_WAKEUP, Calendar.getInstance().getTimeInMillis() + 500, 20000, pintent);
            isServiceRunning = true;
        }
        catch (Exception e)
        {
            e.printStackTrace();
        }
    }
和我的广播接收器

public class PermitService extends BroadcastReceiver
{

    Context mContext;
    @Override
    public void onReceive(Context context, Intent intent)
    {
        mContext=context;
        if (intent != null && intent.getBooleanExtra("start", false))
        {
            if (new Validations(mContext).Connection_Check())
            {
                Toast.makeText(context, "User Service called ", Toast.LENGTH_SHORT).show();
                setRequest();
            }
        }

    }

    @SuppressLint("ShowToast")
    public void setRequest()
    {

        StringListener objStringListner = new StringListener()
        {

            @Override
            public void onSuccess(String arg0)
            {
                if (arg0.length() > 0)
                {
                    int code = Integer.parseInt(arg0);
                    if (code != 0)
                    {
                        //error message
                    }
                }
            }
        };

        SharedPreferences pref = mContext.getSharedPreferences(Constant.PREF_APP, Context.MODE_PRIVATE);

        ContentValues param = new ContentValues();
        param.put("UserType", pref.getInt("UserType", 0));
        param.put("UserId", pref.getInt("UserId", 0));
        MRequest objRequest = General_Class.checkUserAuth(Method.POST, param, "UpdateCheckLogin", objStringListner, mContext);
        MRequestQueue objRequestQueue = new MRequestQueue(mContext);
        objRequestQueue.add(objRequest);
    }

}
注意:
我已经检查了平板电脑和手机,同样的代码适用于手机,但在平板电脑(micromax、iball)中不起作用。

@ByzantineFailure不起作用。更新一些代码——您在电源管理器中发现了什么问题?还要仔细检查您的活动生命周期方法。我检查了n次。。。。每当我锁定屏幕,它就不工作了。。。。。我真的不知道是什么问题。微软平板电脑4.0.4?!?!!