我写了另一个应用程序,现在它只存储我的私人数据。如您所知,每当用户单击应用程序图标时,应用程序就会启动。我想在我的应用程序启动之前输入密码。如果用户输入错误密码,最多 5 次,应用程序将无法启动。
我的问题是;如果给出错误的通行证,我如何输入密码并且不让我的应用程序启动?
我写了另一个应用程序,现在它只存储我的私人数据。如您所知,每当用户单击应用程序图标时,应用程序就会启动。我想在我的应用程序启动之前输入密码。如果用户输入错误密码,最多 5 次,应用程序将无法启动。
我的问题是;如果给出错误的通行证,我如何输入密码并且不让我的应用程序启动?
您的主要活动应提供输入密码的提示。密码框应该是一个EditText
带有密码属性集的(在输入时隐藏字符)。您还应该有一个提交Button
,它将检查您存储的密码。您应该有一个计数器,当输入每个错误输入的密码时,该计数器将递增到 5。当它达到 5 时,您可以使用finish()
来终止活动(在您正在使用的设备finish()
上调用)。Activity
如果他们输入了正确的密码,您可以Intent
启动另一个Activity
,这将是您的实际应用程序。
您需要在应用程序图标启动后立即向用户询问密码,因此您的应用程序应该做的第一件事就是要求身份验证。
因此,在 MainActivity(应用程序启动时调用的第一个活动)中,
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
passwordCounter = 0;
//ask the user for the password using a non-cancellable Dialog
//get the input in an EditText
//when the Submit button is clicked after entering the password, do the following
if(password does not match && passwordCounter < 5)
{
passwordCounter++;
//ask the user for the password once again using the non-cancellable Dialog
}
else if (password does not match && passwordCounter >= 5)
{
finish(); // kill your Activity
}
else
{
//start the actual functioning of the application
}
}