java - 安装时打开的 Web 查看 Android 应用程序显示“应用程序停止工作”
问题描述
我是 Android Studio 的新手。我想按照教程通过 android studio 将我的 PHP 网站制作成 webview 应用程序。
我完全按照它所说的做了,但不幸的是,我的应用在安装后打开时显示“应用停止”。
我只更改了三个代码文件,activity_main.xml、Android Manifest、MainActivity.java。
我的代码如下:
活动主.xml:
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<webview
android:id="@+id/myWebView"
android:layout_height="fill_parent"
android:layout_width="fill_parent"
android:scrollbars="none" xmlns:android="http://schemas.android.com/apk/res/android">
</webview>
</android.support.constraint.ConstraintLayout>
安卓清单:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.telanganaprajafront.www.tpf">
<uses-permission android:name="android.permission.INTERNET"></uses-permission>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"></uses-permission>
<application
android:allowBackup="true"
android:icon="@drawable/screen"
android:label="Telangana Praja Front"
android:roundIcon="@drawable/screen"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
MainActivity.java
package com.telanganaprajafront.www.tpf;
import android.content.Intent;
import android.net.Uri;
import android.support.v4.widget.SwipeRefreshLayout;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.KeyEvent;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.app.Activity;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
WebView myWebView = (WebView) findViewById(R.id.myWebView);
myWebView.loadUrl("http://www.telanganaprajafront.com/forapp/index.php");
myWebView.setWebViewClient(new MyWebViewClient());
WebSettings webSettings = myWebView.getSettings();
webSettings.setJavaScriptEnabled(true);
}
// Use When the user clicks a link from a web page in your WebView
private class MyWebViewClient extends WebViewClient {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
if (Uri.parse(url).getHost().equals("www.centerend.com")) {
return false;
}
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
startActivity(intent);
return true;
}
}
}
在项目开始时,我在屏幕选择中选择了“空白活动”。
当我构建 APK 时,日志猫 - 事件日志如下所示:
1:30 PM Executing tasks: [:app:assembleDebug]
1:36 PM Gradle build finished in 5m 10s 538ms
1:36 PM Build APK(s)
APK(s) generated successfully:
Module 'app': locate or analyze the APK.
如果我在代码中犯了任何错误,请告诉我。
解决方案
经过长时间的审查,我找到了答案,
我忘了写网站名称
if (Uri.parse(url).getHost().equals("www.centerend.com")) {
并在 activity_main.xml 将 webview 转换为 WebView(感谢@Piyush)
推荐阅读
- c++ - 无法在动态链接库 C:\myexe.exe 中找到过程入口点 CryptAcquireContextA
- objective-c - 弃用 Swift 库的 Objective-C 接口
- angular - 无法绑定到“ngStyle”,因为在导入 CommonModule 时它不是“div”的已知属性
- r - 按组创建具有特定周值的列
- python - Django,如何按日期对模型进行分组?
- java - java - 如何使用导致大内存的java替换非常大的字符串中的字符?
- python - 纸浆.solvers.PulpSolverError:纸浆:无法执行cplex
- c# - httpClient.GetAsync() 超时异常,如果应用程序空闲很长时间
- android - 将注册表单数据保存到 sqlite 数据库时出现问题(应用程序立即关闭)
- git - Git:将现有的本地存储库连接到现有的远程存储库