我已经写了另一个应用程序,现在它只存储我的私人数据。每当用户点击应用程序图标时,如您所知,应用程序将启动。我想在我的应用程序启动之前输入密码。如果用户输入的密码不正确,最多5次,则无法启动应用程序。
我的问题是;如果输入错误,我怎么能输入密码并且不让我的应用程序启动?
答案 0 :(得分:2)
您的主要活动应提供输入密码的提示。密码框应为EditText
,并设置密码属性(以便在键入时隐藏字符)。您还应该有一个提交Button
,它将检查您存储的密码。您应该有一个计数器,当输入每个错误输入的密码时,该计数器将增加到5。当它达到5时,您可以使用finish()
来终止活动(在您使用的finish()
上调用Activity
)。如果他们输入了正确的密码,您可以启动Intent
以启动另一个Activity
,这将是您的实际应用。
答案 1 :(得分:0)
启动应用程序图标后,您需要立即询问用户密码,因此您的应用程序应该首先要求进行身份验证。
因此,在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
}
}