Android 设备锁定(休眠)时广播接收器未工作
当我锁定手机时,它不会调用api。。。。 但当手机未锁定时,它的工作状态会很好 在mystartActivity中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);
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?!?!!