AndroidStudioで特定の動作が行われた時スリープモードを解除するという事を行っています。 下記URLのコードを実装しブレークポイントで追っていき下記URLのコードに辿りついているのにスリープモードが解除されなく困っています。 スリープモードを解除するのにコレでは何か不足していますか? 参考:http://tta.moo.jp/despe/2016/02/29/post-102/ ーーーーーーー その他の情報 状況:スリープモードにするためのコードを探しているが他のサイトを見ても参考URLにたどり着く。 端末がスリープ状態に入ってから実機デバッグを行い参考URLのコードにたどり着くのを確認している。 現在の作業目的:PHPからランダムに2パターンの値をAndroidに送り パターン1だった場合、何もしない パターン2だった場合、端末をスリープモードにする。といった事をしようとしている。 ーーーーーーー import android.app.KeyguardManager; import android.content.Context; import android.os.PowerManager; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.util.Log; import android.view.WindowManager; import java.net.MalformedURLException; import java.net.URL; public class MainActivity extends AppCompatActivity { private KeyguardManager keyguard; private KeyguardManager.KeyguardLock keylock; private PowerManager.WakeLock wakelock; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); URL url = null; try { url = new URL("http://hogehoge.php/?req=1"); } catch (MalformedURLException e) { e.printStackTrace(); } new HttpGetTask().execute(url); } public void screenOn(){ getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON); } //スリープさせるための関数 public void wakeFromSleep() { wakelock = ((PowerManager) getSystemService(android.content.Context.POWER_SERVICE)) .newWakeLock(PowerManager.FULL_WAKE_LOCK | PowerManager.ACQUIRE_CAUSES_WAKEUP | PowerManager.ON_AFTER_RELEASE, "disableLock"); wakelock.acquire(20000); keyguard = (KeyguardManager) getSystemService(android.content.Context.KEYGUARD_SERVICE); keylock = keyguard.newKeyguardLock("disableLock"); keylock.disableKeyguard(); } public void SleepRestitution(){ //スリープ状態から復帰する wakelock = ((PowerManager) getSystemService(Context.POWER_SERVICE)) .newWakeLock(PowerManager.SCREEN_DIM_WAKE_LOCK | PowerManager.ACQUIRE_CAUSES_WAKEUP | PowerManager.ON_AFTER_RELEASE, "disableLock"); wakelock.acquire(); //スクリーンロックを解除する KeyguardManager keyguard = (KeyguardManager) getSystemService(Context.KEYGUARD_SERVICE); keylock = keyguard.newKeyguardLock("disableLock"); keylock.disableKeyguard(); onPause(); /** 処理 */ } @Override public void onPause() { super.onPause(); wakelock.release(); keylock.reenableKeyguard(); } } ーーーーーーー import android.app.KeyguardManager; import android.os.AsyncTask; import android.os.PowerManager; import android.util.Log; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.UnsupportedEncodingException; import java.net.HttpURLConnection; import java.net.MalformedURLException; import java.net.URL; public class HttpGetTask extends AsyncTask<URL, Void, String> { //変数宣言 private PowerManager.WakeLock wakelock; private KeyguardManager.KeyguardLock keylock; @Override protected String doInBackground(URL... url) { String result = ""; HttpURLConnection conn = null; try { conn = (HttpURLConnection) url[0].openConnection(); conn.setReadTimeout(10000); conn.setConnectTimeout(15000); conn.setRequestMethod("GET"); conn.setDoInput(true); conn.connect(); int resp = conn.getResponseCode(); // respを使っていろいろ result = readIt(conn.getInputStream()); } catch(IOException e) { e.printStackTrace(); } finally { if(conn != null) { conn.disconnect(); }
↧