我正在创建一个个人Android应用程序。
此应用程序应该是私有的。所以我应该创建一个只有用户可以访问应用程序的密码屏幕。
在我的设置Activity中有一个Switch Widget,当用户启用它时(并为其设置密码),我想在我的MainActivity之前显示密码屏幕,然后用户输入密码转到MainActivity。 当用户禁用它时,我想在我的应用程序运行时显示MainActivity。
我该怎么做?
tnx为我的问题提供任何帮助建议。
答案 0 :(得分:0)
当应用程序开始在您的Manifeft上使用此代码时,让EnterPassword活动成为第一个打开的活动:
class BlogsController < ApplicationsController
def create
@blog = Blog.new(blog_params)
respond_to do |format|
if @blog.save
format.html { redirect_to @blog }
else
format.html { render :new }
end
end
end
private
def blog_params
params.require(:service).permit(:title, :content)
end
end
请记住从MainActivity中取消intent过滤器。
在您的EnterPasswordActivity中,您可以检查是否启用。如果不是:
<activity android:name=".EnterPasswordActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
您可以使用SharedPreferences来启用或不启用。 :)
答案 1 :(得分:0)
如果用户启用切换小部件并输入密码,则在开始屏幕上使用设置条件如此简单,将其与一些常量或硬代码密码匹配,然后显示切换屏幕,否则按主题屏幕显示
startActivity(new Intent(context, MainActivity.class));
答案 2 :(得分:0)
据我所知,您可以在设置contentview之前在MainActivity的onCreate方法中使用costum视图设置Doalog,并通过此Dialog(真或假密码)的给定答案,您可以允许用户查看mainlayout。
这是一个简单的Dialog代码:
final Dialog dialog= new Dialog(mContext);
dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
dialog.setContentView(R.layout.popup_for_share); //design your own layout for Dialog
dialog.setCancelable(false);
Button b1 = (Button) dialog.findViewById(R.id.button);
EditText input = (EditText) dialog.findViewById(R.id.input);
b2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// set some codes
}
});
dialog.show();