【问题标题】:Redirect to webview activity in android重定向到android中的webview活动
【发布时间】:2012-05-18 11:38:05
【问题描述】:

所以我尝试在成功登录后从主要活动启动 WebView 活动。主要活动如下:

              try {

                response = CustomHttpClient.executeHttpPost("http://192.168.1.101/adddrop/login.php", postParameters);

                Log.v(LOG_TAG," PostParameters = " +postParameters.toString());

                 String res=response.toString();
                 res= res.replaceAll("\\s+","");

                 Log.v(LOG_TAG," response value = " +res);


                if(res.equals("1")){

                    Intent myIntent = new Intent(v.getContext(), Registration.class);
                    startActivity(myIntent);

                    //error.setText("Correct Username or Password");
                }
                else
                    error.setText("Sorry!! Incorrect Username or Password");

            } catch (Exception e) {
                USER.setText(e.toString());
            }

另一个活动 WebView(编辑:称为 Registration.java,当我将其作为单独项目中的主要活动启动时工作正常)看起来像这样:

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    mWebView = (WebView) findViewById(R.id.webview);
    mWebView.getSettings().setJavaScriptEnabled(true);
    mWebView.setWebViewClient(new HelloWebViewClient());
    mWebView.loadUrl("http://192.168.1.101/adddrop/index2.php");
    mWebView.setInitialScale(130);


}

private class HelloWebViewClient extends WebViewClient {
    @Override
    public boolean shouldOverrideUrlLoading(WebView view, String url) {
        view.loadUrl(url);
        return true;
    }
}

这是点击登录时的 logcat,我在其中得到成功的调试响应,但它应该带我进入网页,但应用程序崩溃并关闭:

05-19 12:02:39.394: W/dalvikvm(433): threadid=1: thread exiting with uncaught exception (group=0x40015560)
05-18 11:24:22.524: E/AndroidRuntime(1094): FATAL EXCEPTION: main
05-18 11:24:22.524: E/AndroidRuntime(1094): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.login/com.example.login.Registration}: java.lang.NullPointerException
05-18 11:24:22.524: E/AndroidRuntime(1094):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1647)
05-18 11:24:22.524: E/AndroidRuntime(1094):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1663)
05-18 11:24:22.524: E/AndroidRuntime(1094):     at android.app.ActivityThread.access$1500(ActivityThread.java:117)
05-18 11:24:22.524: E/AndroidRuntime(1094):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:931)
05-18 11:24:22.524: E/AndroidRuntime(1094):     at android.os.Handler.dispatchMessage(Handler.java:99)
05-18 11:24:22.524: E/AndroidRuntime(1094):     at android.os.Looper.loop(Looper.java:123)
05-18 11:24:22.524: E/AndroidRuntime(1094):     at android.app.ActivityThread.main(ActivityThread.java:3683)
05-18 11:24:22.524: E/AndroidRuntime(1094):     at java.lang.reflect.Method.invokeNative(Native Method)
05-18 11:24:22.524: E/AndroidRuntime(1094):     at java.lang.reflect.Method.invoke(Method.java:507)
05-18 11:24:22.524: E/AndroidRuntime(1094):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
05-18 11:24:22.524: E/AndroidRuntime(1094):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
05-18 11:24:22.524: E/AndroidRuntime(1094):     at dalvik.system.NativeStart.main(Native Method)
05-18 11:24:22.524: E/AndroidRuntime(1094): Caused by: java.lang.NullPointerException
05-18 11:24:22.524: E/AndroidRuntime(1094):     at com.example.login.Registration.onCreate(Registration.java:19)
05-18 11:24:22.524: E/AndroidRuntime(1094):     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
05-18 11:24:22.524: E/AndroidRuntime(1094):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1611)
05-18 11:24:22.524: E/AndroidRuntime(1094):     ... 11 more

【问题讨论】:

  • 注册似乎为空
  • Registration.java 见第 ...19 行
  • 删除我的答案,@SamirMangroliya 在我完成输入之前在评论中得到了它。
  • 你应该只做一个 webapp。游戏商店甚至不应该允许大型网络视图的活动。这是我主张应用审查流程(例如 Apple 的)的一个 [并且可能是唯一的] 案例。
  • @SamirMangroliya 第 19 行包含以下内容:mWebView.getSettings().setJavaScriptEnabled(true);我已经删除了它,因为我的网页不包含 javascript,现在 logcat 在第 20 行给我错误,我什至试图将 loadUrl 行向上移动它给我错误。

标签: android redirect webview fatal-error


【解决方案1】:

您的 webview 活动应该是这样的:

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    WebView mWebView = new WebView(this);

    //now do whatever you want
    mWebView.getSettings().setJavaScriptEnabled(true);
    mWebView.setWebViewClient(new HelloWebViewClient());
    mWebView.loadUrl("http://192.168.1.101/adddrop/index2.php");
    mWebView.setInitialScale(130);

    //finally
    setContentView(mWebView);
}

【讨论】:

    【解决方案2】:

    您是否在清单文件中添加了您的活动?像这样:

    <activity 
            android:name="your.package.name.Registration"
            android:label="@string/app_name" >
        </activity>
    

    更新

    我认为你需要交换两行的顺序。

    发件人:

    mWebView = (WebView) findViewById(R.id.webview);
    mWebView.getSettings().setJavaScriptEnabled(true);
    mWebView.setWebViewClient(new HelloWebViewClient());
    mWebView.loadUrl("http://192.168.1.101/adddrop/index2.php");
    mWebView.setInitialScale(130);
    

    收件人:

    mWebView = (WebView) findViewById(R.id.webview);
    mWebView.getSettings().setJavaScriptEnabled(true);
    mWebView.loadUrl("http://192.168.1.101/adddrop/index2.php");
    mWebView.setWebViewClient(new HelloWebViewClient());
    mWebView.setInitialScale(130);
    

    别忘了在你的清单上添加 Internet 权限...

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

    更新 2

    改变这个:

    Intent myIntent = new Intent(v.getContext(), Registration.class);
    

    到:

    Intent myIntent = new Intent(YourActivity.this, Registration.class);
    

    【讨论】:

    • 我已经尝试过了,logcat 在第 20 行给了我错误,其中包含 mWebView.loadUrl("192.168.1.101/adddrop/index2.php"); 请注意,当我将它作为 main 单独启动时,这个 registration.java 类工作得很好单独项目中的活动...
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-04-17
    • 1970-01-01
    • 2016-08-05
    • 2011-06-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多