【发布时间】:2012-08-21 03:38:28
【问题描述】:
我正在制作一个儿童应用程序,我想为它添加一个儿童锁,就像应用程序上名为“幼儿锁”的那个一样。幼儿锁会要求您在锁打开时设置默认启动器,这样可以禁用主页按钮。 我该怎么做?
【问题讨论】:
标签: android android-launcher android-homebutton
我正在制作一个儿童应用程序,我想为它添加一个儿童锁,就像应用程序上名为“幼儿锁”的那个一样。幼儿锁会要求您在锁打开时设置默认启动器,这样可以禁用主页按钮。 我该怎么做?
【问题讨论】:
标签: android android-launcher android-homebutton
好的,我在这里有一个粗略的工作示例:
创建两个活动和两个布局,在主布局中放置一个普通按钮。其他布局只能有一个空白<LinearLayout>。
这是我的清单的样子:
<activity
android:name=".MainActivity"
android:label="@string/title_activity_main"
android:launchMode="singleTop">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name=".secondact"
android:label="@string/secondtitle">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.HOME" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
在第二个活动中通知<category android:name="android.intent.category.HOME" />。
这是我主要活动的代码:
@Override
public void onResume()
{
super.onResume();
Button btn = (Button)findViewById(R.id.startBtn);
btn.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
Intent startMain = new Intent(Intent.ACTION_MAIN, null);
startMain.addCategory(Intent.CATEGORY_HOME);
startActivity(startMain);
}
});
}
在我的第二个活动中,我有:
@Override
public void startActivity(Intent intent)
{
super.startActivity(intent);
}
当我单击 startbtn 时,我会看到您正在谈论的对话框,您可以选择启动器或第二个活动,然后选择始终使用。后退按钮仍然可以让您回家,但希望这会有所帮助。这个问题可能会进一步帮助您:Disable home button in android toddler app?
【讨论】: