クリックすると加速度計サービスを開始するボタンのあるアクティビティを持つコードがあります。
加速度計サービスは、次のように使用PARTIAL_WAKE_LOCK
さonStart()
れます。
@Override
public void onStart(Intent intent, int startId) {
// TODO Auto-generated method stub
super.onStart(intent, startId);
//Power Manager
PowerManager pm = (PowerManager)getApplicationContext().getSystemService(Context.POWER_SERVICE);
PowerManager.WakeLock wl = pm.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "MY WK");
wl.acquire();
//Power Manager
try{
mInitialized = false;
mSensorManager = (SensorManager) getSystemService(Context.SENSOR_SERVICE);
mAccelerometer = mSensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER);
mSensorManager.registerListener(this, mAccelerometer,SensorManager.SENSOR_DELAY_NORMAL);
}
catch(Exception e)
{
Log.e("acc","catch1");
}
}// end of onStart()
onSensorChange(Sensorイベント)には、次のようにHTTPPOStを使用してリモートサーバーにデータを記録するコードがあります。
synchronized public void onSensorChanged(SensorEvent event) {
if( event.sensor.getType() == Sensor.TYPE_ACCELEROMETER )
{
//-----------------------------sending it to server---------
ArrayList<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(2);
nameValuePairs.add(new BasicNameValuePair("xaxis", xaxis));
nameValuePairs.add(new BasicNameValuePair("yaxis", yaxis));
nameValuePairs.add(new BasicNameValuePair("zaxis", zaxis));
//------------------
Thread networkThread = new Thread() {
@Override
public void run() {
HttpClient httpclient1 = new DefaultHttpClient();
HttpPost httppost1 = new HttpPost("http://www.xxxxx.com/filename.php");
httppost1.setEntity(new UrlEncodedFormEntity(nameValuePairs));
HttpResponse response1 = httpclient1.execute(httppost1);
}
};
networkThread.start();
//----------------------------------
}//and of if
}//end of onSensorChanged
私の問題は次
のとおりです。電話の画面が暗くなると、HTTPはサーバーへのログ記録を停止します。ただし、キーパッドがロックされていても画面が
明るい場合は、データがログに記録されます。このサービスをバックグラウンドで実行し、画面がロックされている
場合でもサーバーにデータを記録したいので、私を助けてください。 したがって、画面が暗くなるまでは正常に機能し、その後はデータをログに記録しません。
Does HTTP not work with Partial_WAKE_Lock.
I searched for the answers but could not find any. Hoping to get some help !
Thank You