gpt4 book ai didi

android - WebView 在第二个 Activity 中导致错误

转载 作者:太空宇宙 更新时间:2023-11-03 10:21:15 25 4
gpt4 key购买 nike

我有以下代码,当我在我的主 Activity 中使用它时可以正常工作:

    WebView webView = (WebView)findViewById(R.id.iQuestionWebView);
webView.loadDataWithBaseURL(null, "test", "text/html", "utf-8", null);

WebView 布局看起来像这样:

<WebView
android:id="@+id/iQuestionWebView"
android:layout_width="match_parent"
android:layout_height="200dp"/>

但是如果我将布局和代码放到我的第二个 Activity(一个简单的 LinearLayout)中,我会得到以下错误:

netstack: LIB_MGR - Error loading lib libdnshostprio.so

netstack: STAT_HUB - Failed to load plugin: libdnshostprio.so

netstack: LIB_MGR - Error loading lib spl_proc_plugin.so

netstack: STAT_HUB - Failed to load plugin: spl_proc_plugin.so

netstack: LIB_MGR - Error loading lib pp_proc_plugin.so

netstack: STAT_HUB - Failed to load plugin: pp_proc_plugin.so

netstack: STAT_HUB - App com.ms.wvtest isn't supported

E/cutils-trace(11142): Error opening trace file: Permission denied (13)

如您所见,代码非常基础 - 一个启动第二个 Activity 的简单按钮:

MainActivity.java

public class MainActivity extends Activity 
{
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

final Button startQuiz = (Button)findViewById(R.id.iMainStartQuizButton);
startQuiz.setOnClickListener(new View.OnClickListener()
{
@Override
public void onClick(View v)
{
Intent intent = new Intent(MainActivity.this, Quiz.class);
startActivity(intent);
}
});
}
}

Quiz.java

public class Quiz extends Activity
{
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.quiz);

WebView webView = (WebView)findViewById(R.id.iQuestionWebView);
webView.loadDataWithBaseURL(null, "test", "text/html", "utf-8", null);
}
}

如果有人能指出错误的原因,我将不胜感激。预先感谢您的帮助!

编辑:根据要求的 quiz.xml 和 list :

quiz.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >

<WebView
android:id="@+id/iQuestionWebView"
android:layout_width="match_parent"
android:layout_height="200dp"/>

</LinearLayout>

AndroidManifest.xml

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

<uses-sdk
android:minSdkVersion="11"
android:targetSdkVersion="18" />

<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/l_app_name"
android:theme="@style/AppTheme" >
<activity
android:name="com.ms.studycards.MainActivity"
android:label="@string/l_setup_title" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name="com.ms.studycards.Quiz"
android:label="@string/l_quiz_title"
android:parentActivityName="com.ms.studycards.MainActivity">
</activity>
</application>

</manifest>

最佳答案

尽管我只在设备上测试我的应用程序(模拟器太慢),但我是这样解决这个问题的。

  1. 在 list 文件中,添加互联网权限:

    uses-permission android:name="android.permission.INTERNET"
  2. 在您的 WebView 中(在 Quiz.java 中),您需要启用 javascript:

    webView.getSettings().setJavaScriptEnabled(true);

在我的例子中,这两件事解决了问题并在设备的 webview 中显示内容(在我的例子中是 youtube 视频)。

关于android - WebView 在第二个 Activity 中导致错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20880037/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com