我需要一些关于如何最好地处理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);
}