java - 无法使用 SplashScreen 和 WebView 启动应用程序

标签 java android android-activity splash-screen

无法运行我的 Android 应用:https://github.com/iSCApps/isc.apps.android.videofy .

I created Splash.java and MainActivity.java.

Splash.java:

package isc.apps.android.videofy;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.os.Handler;

public class Splash extends Activity {

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

        final Handler handel = new Handler();
        handel.postDelayed(new Runnable() {

        @Override
        public void run() {
            // TODO Auto-generated method stub
            Intent loadSplash = new Intent(Splash.this, MainActivity.class);

                startActivity(loadSplash);

                finish();
            }
        }, 5000);
    }
}

MainActivity.java:

package isc.apps.android.videofy;

    import android.os.Bundle;
    import android.app.Activity;
    import android.app.AlertDialog;
    import android.app.ProgressDialog;
    import android.util.Log;
    import android.view.Menu;
    import android.view.Window;
    import android.webkit.WebView;
    import android.webkit.WebViewClient;
    import android.widget.Toast;

public class MainActivity extends Activity {

private WebView webView;
private ProgressDialog progressBar;
private static final String TAG = "Main";

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    requestWindowFeature(Window.FEATURE_NO_TITLE);
    setContentView(R.layout.activity_main);

    webView = (WebView) findViewById(R.id.trnity);
    webView.getSettings().setJavaScriptEnabled(true);
    webView.getSettings().setLoadWithOverviewMode(true);
    webView.getSettings().setUseWideViewPort(true);
    webView.getSettings().setBuiltInZoomControls(true);
    final AlertDialog alertDialog = new AlertDialog.Builder(this).create();
    progressBar = new ProgressDialog(MainActivity.this);
    progressBar.setMessage("Trinity tuts loading...");
    progressBar.setCancelable(false);
    progressBar.setCanceledOnTouchOutside(false);
    progressBar.show();
    webView.setWebViewClient(new WebViewClient() {
        public boolean shouldOverrideUrlLoading(WebView view, String url) {
            Log.i(TAG, "Loading");
            view.loadUrl(url);
            return true;
        }

        public void onPageFinished(WebView view, String url) {
            Log.i(TAG, "Done loading " + url);
            if (progressBar.isShowing()) {
                progressBar.dismiss();
            }
        }

        public void onReceivedError(WebView view, int errorCode,
                                    String description, String failingUrl) {
            Log.e(TAG, "Error: " + description);
            Toast.makeText(getApplicationContext(),
                    "Oh no! " + description, Toast.LENGTH_SHORT).show();
            alertDialog.setTitle("Error");
            alertDialog.setMessage(description);
            alertDialog.setCancelable(false);
            alertDialog.show();

        }
    });
    webView.loadUrl("https://isc-host.github.io/videos.isc");

}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.main, menu);
    return true;
}

}

The app keeps crashing on my Android 4.0.3.

我还在 Android Studio 的 Nexus S 模拟器上运行 adb logcat:

- waiting for device -
error: protocol fault (status read)

Do you know where the code error is?

最佳答案

错误可能出在这一行:

 webView = (WebView) findViewById(R.id.trnity);

在activity_main中,webView的id是videofy,在代码中是trnity。

关于java - 无法使用 SplashScreen 和 WebView 启动应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31638869/

相关文章:

Android - Activity 之外的 startActivityForResult?

java - 如何实现数组对称两列交换?

java - 我怎样才能杀死流氓机器人?

java - 如何计算多维数组中包含零的列的数量

android - 何时使用 Activity 或 fragment

java - 如何通过Listener拦截日志Log.d/w/e

java - 使用 Java 隐藏 JSF 元素

android - 在没有外部存储的情况下,如何使用 NFC 传输文件?

android - 如何检查 Activity 是否启用?

当我尝试通过包传递对象时出现 java.lang.IllegalArgumentException : Ilegal value,