请查看附加图像,它显示我想要的活动屏幕。我想阻止用户继续进行,直到他输入正确的密码。我想在重启后手机启动时出现此屏幕。
我已经为侦听器设备启动过程编写了监听器。
public class DeviceStartUpListener extends BroadcastReceiver
{
@Override
public void onReceive(Context context, Intent intent)
{
if(intent.getAction().equals("android.intent.action.BOOT_COMPLETED"))
{
// some code
Intent authenticationIntent = new Intent(applicationContext, PostStartupAuthenticationActivity.class);
authenticationIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(authenticationIntent);
}
}
}
我希望PostStartupAuthenticationActivity覆盖整个屏幕并询问用户密码。此活动应隐藏屏幕底部的所有按钮。在输入正确的密码或连续3次输入错误的密码之前,您不应该转移到任何其他活动。
在PostStartupAuthenticationActivity中我在onCreate方法中编写了以下代码,但这不能正常工作,活动全屏显示,但屏幕底部的按钮仍然可见,例如主页按钮和后退按钮仍然可见,我想要活动以全屏模式打开但屏幕底部没有按钮可见,我现在的活动看起来像这样,请找到第二张附图: -
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
mIntent = getIntent();
//set fullscreen and no title
// requestWindowFeature(Window.FEATURE_NO_TITLE);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
setContentView(R.layout.post_starup_authentication_activity);
}
提前致谢。
答案 0 :(得分:1)
如果您正在尝试制作可以通过密码锁定设备的应用程序 - 您不会实现它并且您尝试这样做是没用的。用户总是可以按下“主页”按钮,你的应用程序将在后台运行。
但如果你只想阻止用户使用你的特定应用程序而不通过密码屏幕 - 只是在用户输入之前不要启动任何活动正确的密码,如:
if (entered_password_is_correct())
start_next_corresponding_activity();