Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/325.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/230.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/video/2.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
Java Android如何在使用webView时保持屏幕打开_Java_Android - Fatal编程技术网

Java Android如何在使用webView时保持屏幕打开

Java Android如何在使用webView时保持屏幕打开,java,android,Java,Android,首先,我不熟悉Android和Java编程。也就是说,我不确定我想做的事情是否能够实现。我希望能够使用webView加载url,并使用keep_screen_on防止屏幕变暗 下面是我正在使用的代码。我可以加载网页,但屏幕在大约一分钟后变暗 感谢您的帮助 这是Java页面: package com.mysite; import com.mysite.R; import android.app.Activity; import android.os.Bundle; import android.v

首先,我不熟悉Android和Java编程。也就是说,我不确定我想做的事情是否能够实现。我希望能够使用webView加载url,并使用keep_screen_on防止屏幕变暗

下面是我正在使用的代码。我可以加载网页,但屏幕在大约一分钟后变暗

感谢您的帮助

这是Java页面:

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);
    }
}
这是我的清单页面:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.mysite"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk
        android:minSdkVersion="8"
        android:targetSdkVersion="17" />
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>

    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name="com.mysite.MainActivity"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>
</manifest>

有3种可能的方法,其中两种更可取,功能相似。您使用的只是个人偏好。另一个更具攻击性,可用于希望系统其他部分保持清醒(如处理器)的其他场景

方法如下:

通知
onCreate中的
窗口管理器
,您希望屏幕保持打开状态

下面的活动使用窗口管理器使屏幕保持打开状态,您不必担心如何管理它,它将在活动生命周期内保持打开状态。屏幕可能会变暗,但无法关闭。清单中不需要任何权限

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
–用于关键下载或您绝对不希望Android系统关闭的事情

此活动将获得唤醒锁,以在进行此活动时保持屏幕打开。这需要您的清单中的权限。管理唤醒锁并在完成时(在onPause中)始终释放它们非常重要

声明屏幕在
XML布局中保持打开状态

此活动使用我们正在使用的XML布局文件中的标志保持屏幕处于打开状态。android:keepScreenOn=“true”
不需要清单权限

/**
 * 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);可以使用。其中,手动操作
WakeLock
对于所需的行为来说是最糟糕的,因为您需要
WAKE\u LOCK
权限,并且更容易出错。
/**
 * 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");
    }
}