0

我似乎无法让我的 Apache 服务器使用 webview 从我的 android 程序中获取其凭据。它不会要求提供凭据。我不明白我错过了什么。

这是我的代码

    package united.alert.mobile;

    import android.app.Activity;
    import android.os.Bundle;
    import android.webkit.WebView;

    public class UnitedAlertActivity extends Activity {
    @Override
    public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    WebView myWebView = (WebView) findViewById(R.id.webview);
    myWebView.loadUrl("http://unitedalert.info/m");
        }

    public void PasswordAuthentication (String userName, String password){
    userName = "m*bile2012";
    password = "1234567";
        }
    }
4

1 回答 1

1

您需要创建一个可以拦截授权请求的 WebViewClient,然后您可以提供正确的凭据。查看有关如何创建 WebViewClient 及其用途的 Android 开发人员文档:http: //developer.android.com/reference/android/webkit/WebViewClient.html

这是您可以遵循的一个很好的答案。 使用 WebView 设置HttpAuthUsernamePassword?.

有不同类型的身份验证,例如基本身份验证(看起来像您在此处尝试执行的操作)、NTLM 等。每种身份验证都需要不同的方式来处理授权质询,但这应该有助于您了解基本身份验证。

于 2013-02-10T17:54:05.587 回答