无法更改 android 10 上的权限,也无法运行 webview

问题描述

我正在尝试在我的应用程序上设置访问互联网的权限,但权限管理器不允许我这样做。因此,我无法运行网络视图。下面的代码在牛轧糖上运行良好。这是怎么回事?

这是我的清单的一部分:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.droid_controls">

    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
        <activity
            android:name=".WebViewActivity"
            android:screenorientation="landscape"></activity>
        <activity

这里是网页视图的代码

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_web_view);

    WebView browser = findViewById(R.id.webview);
    browser.loadUrl("http://www.google.com");
}

和 html:

<WebView
    android:id="@+id/webview"
    android:layout_width="match_parent"
    android:layout_height="match_parent" />

当我转到应用程序管理器并尝试更改权限并点击“允许”时,没有任何作用。奇怪的是,如果我查看应用程序的所有权限,我会看到与我的清单相匹配的权限。看截图:

app manager

权限与清单匹配。

all permissions

code not running

点击任何东西都无济于事,而且网络视图不会加载页面。这是怎么回事?

谢谢。

解决方法

INTERNET 和 ACCESS_NETWORK_STATE 是普通权限。当您的设备运行 Android 6.0 或更高版本并且您的 targetSdkVersion 为 23 或更高版本时,它们会在安装时自动授予。

另见permissions documentation和这个SO post

,

没关系,这就是问题所在。

android:usesCleartextTraffic="true"

Android 8: Cleartext HTTP traffic not permitted

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...