1

我正在为孩子们制作一个应用程序,一旦你进入应用程序,没有我在菜单中要求的密码就无法退出。现在我想如果在应用程序内我按下应用程序中的主页按钮,它应该保持相同的活动。我搜索了很多,但解决方案到处都是在清单中添加过滤器,但这些对我来说效果不佳。我希望在应用程序退出时从启动器中删除我的活动,并再次询问是否启动应用程序。

对于同一个应用程序,如果我按下最近的应用程序按钮并且其中一个被孩子单击,那么该应用程序也应该处于相同的活动中,或者如果有任何方法可以阻止最近的应用程序按钮。

我试过这个

<activity
    android:label="@string/app_name"
    android:launchMode="singleInstance"
    android:name=".MyActivity"
    android:screenOrientation="landscape"
    android:excludeFromRecents="true"
    android:taskAffinity=""
    android:stateNotNeeded="true" >
    <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>
4

3 回答 3

2

我正在为孩子们制作一个应用程序,一旦你进入应用程序就无法在没有密码的情况下退出,这是我在菜单中询问的。

幸运的是,出于明显的安全原因,这是不可能的。

现在我想如果在应用程序内我按下应用程序中的主页按钮,它应该保持相同的活动,我搜索了很多,但解决方案到处都是在清单中添加过滤器,但这些对我来说效果不佳。

“对我来说效果不佳”是对您的症状的完全无用的解释。您的 SDK 中有一个 Home 示例应用程序,用于演示如何设置主屏幕。

对于同一个应用程序,如果我按下最近的应用程序按钮并且其中一个被孩子单击,那么该应用程序也应该处于相同的活动中,或者如果有任何方法可以阻止最近的应用程序按钮。

这些都不可能。

如果您想制作单一用途的 Android 设备,则需要在固件级别进行。

于 2012-06-20T15:27:15.333 回答
1

您可以将您的应用程序变成一个启动器。我的启动器通常看起来像:

<activity android:name=".MyLauncher">
    <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>

当用户选择您的启动器作为默认启动器时,当您在应用程序中时,主页键基本上不会做任何事情。

于 2018-02-28T02:15:12.180 回答
0

自 API 14 以来,这就像魅力一样;在模拟器 4.4v、5.0v、7.0v、8.0v、9.0v 上测试;这是解决问题的人的链接:https ://stackoverflow.com/a/55129289/9497126

于 2019-12-20T11:14:04.123 回答