Android从Webview启动Intent(凭据失败)并在确认AlertDialogue

时间:2015-04-29 19:42:43

标签: android android-intent

我需要一些关于如何最好地处理UI问题的方向。

我正在使用登录Web应用程序的Android应用程序。我使用webview来处理Web应用程序中的大多数活动。我确实在OnPageFinish方法上有一个覆盖,它基于Web应用程序抛出的URL返回到我的应用程序。发生这两种情况是1.)凭证错误,2。)他们退出了。根据该URL匹配,我在OnPageFinish方法中启动一个新的Intent。我也在OnPageStart上有一个覆盖,找到上面正在工作的#2。

问题:因为webview在使用不正确的凭据时会看到特定的URL,所以OnPageFinish方法会启动一个新的意图来返回我的登录应用程序。但是,我想发送用户确认的错误凭据(上面的#1)的警报,以便他们了解问题所在。

当我抛出警报并且New Intent位于OnClick上的警报内时,webview会在警报后面显示Web应用程序的常规登录屏幕,该屏幕在视觉上很有吸引力。警报确实保留(所需行为),直到该人员在警报上单击“确定”。然后它将返回应用程序并关闭webview。如果我首先在警报的OnCkick之外执行意图,然后是警报,那么我会收到警报并返回登录应用程序,而无需用户查看警报的用途。这很快。以下是我到目前为止所做的一个例子。我将方法setNewIntent移动到我想要的位置。

if (urlapp3.equals(url)) {

    error = true;
    setNewIntent(context);
    new AlertDialog.Builder(MainActivity.this).setTitle("Incorrect Credentials").setMessage("Please re-enter your credentials correctly. They are case sensitive.").setPositiveButton("Ok", new DialogInterface.OnClickListener() {

        public void onClick(DialogInterface dialog, int id) {

            dialog.cancel();                                    
        }
    }).show();
}

意图方法

public void setNewIntent(Context context){

    Intent intent;
    intent = new Intent(context,  MainActivity.class);
    startActivity(intent);
}

0 个答案:

没有答案