请我想开发一个Android应用程序,可以接受解锁代码之前可以使用它。我不想使用谷歌播放或任何其他应用程序市场,我想将应用程序从我的PC转移到任何Android安装之前或之后的设备应用程序将要求解锁代码,否则应用程序将无法运行。任何帮助将不胜感激
答案 0 :(得分:0)
将MainActivity布局设为空白。然后在onCreate中添加如下警告:
final ViewGroup layout = (ViewGroup) getLayoutInflater().inflate(R.layout.layout_alert, null);
new AlertDialog.Builder(this)
.setTitle("Enter Code")
.setMessage("Enter Code to continue")
.setView(layout)
.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
MainActivity.this.finish();
}
})
.setPositiveButton("Enter", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
EditText et = (EditText) layout.findViewById(R.id.et_value);
if (et.getText().equals("12345")) startActivity(new Intent(MainActivity.this, SecondActivity.class));
else MainActivity.this.finish();
}
})
.show();
布局“layout_alert”只包含EditText字段:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<EditText
android:id="@+id/et_value"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
</LinearLayout>
编辑:
如果您不关心用户是否看到主要活动,则可以替换
if (et.getText().equals("12345")) startActivity(new Intent(MainActivity.this, SecondActivity.class));
else MainActivity.this.finish();
与
if(!et.getText().equals("12345")) MainActivity.this.finish();
编辑:
我今天有空闲时间,所以我写了一个快速示例应用程序: