이 일의 3 가지 방법, 두 가지가 바람직하고, 기능이 비슷가 있습니다 그냥 개인적인 취향입니다 : 이것은 내 매니페스트 페이지
package com.mysite;
import com.mysite.R;
import android.app.Activity;
import android.os.Bundle;
import android.view.WindowManager;
import android.webkit.WebView;
public class MainActivity extends Activity {
public WebView myWebView = null;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_flag);
myWebView = new WebView(this);
myWebView.loadUrl("http://www.mysite.com");
getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
}
}
입니다 당신이 사용하는. 다른 하나는 좀 더 공격적이며 시스템의 다른 부분이 깨어있는 상태로 유지되기를 원하는 다른 시나리오에서도 사용할 수 있습니다 (예 : 프로세서). 여기
는 방법이다 :
알려 화면이
아래이 활동에 남고 싶어 onCreate
에서 window manager
창 관리자를 사용하여 화면을 유지, 당신에 대해 걱정할 필요가 없습니다 이를 관리하는 것은 활동 수명주기 동안 유지됩니다. 화면이 어둡지 만 꺼지지는 않습니다. 매니페스트에 사용 권한이 필요하지 않습니다.
package com.mysite;
import com.mysite.R;
import android.app.Activity;
import android.os.Bundle;
import android.view.WindowManager;
import android.webkit.WebView;
public class MainActivity extends Activity {
public WebView myWebView = null;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_flag);
getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
myWebView = new WebView(this);
myWebView.loadUrl("http://www.mysite.com");
}
}
WakeLock
- 당신은 확실히 안드로이드 시스템이
이 활동에 대한 종료하지 않으려는 중요한 다운로드 또는 일에 사용이 활동에 반면에 화면을 유지하기 위해 가동 잠금을 사들. 이 경우 매니페스트에 권한이 필요합니다. wakelocks를 관리하고 끝나면 항상 해제해야합니다 (onPause에서).
public class MainActivity extends Activity {
private static final String TAG = "com.mysite.ScreenOnWakeLockActivity.WAKE_LOCK_TAG";
private WakeLock wakeLock;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_flag);
PowerManager powerManager = (PowerManager) getSystemService(POWER_SERVICE);
wakeLock = powerManager.newWakeLock(PowerManager.SCREEN_DIM_WAKE_LOCK, TAG);
myWebView = new WebView(this);
myWebView.loadUrl("http://www.mysite.com");
}
@Override
protected void onResume() {
super.onResume();
wakeLock.acquire();
}
@Override
protected void onPause() {
super.onPause();
wakeLock.release();
}
}
화면이 활동은 우리가 더 매니페스트 권한이 필요하지 않습니다 android:keepScreenOn=”true”
을 사용하는 XML 레이아웃 파일에 플래그를 사용하여 화면을 유지하여 XML layout
에 켜져 선언합니다.
/**
* This activity keeps the screen on using a flag in the XML layout file we are using 'android:keepScreenOn="true"'
* We don't use a wakelock so no manifest permissions are needed
*
* @author chirag.saga
*
*/
public class MainActivity extends Activity {
public WebView myWebView = null;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_flag);
myWebView = new WebView(this);
myWebView.loadUrl("http://www.mysite.com");
}
}
myWebView.setKeepScreenOn (true); 사용할 수 있습니다. – andrew
이 중 수동으로'WakeLock'을 조작하는 것은 원하는 동작에 대해 최악입니다. 왜냐하면'WAKE_LOCK' 권한이 필요하고 엉망이 될 가능성이 더 큽니다. – CommonsWare