Java Android-自动启动应用程序并限制对其他应用程序的访问
我是Android开发的新手,我有一个为孩子开发的应用程序。我希望应用程序在设备启动时自动启动。当应用程序运行时,我希望它阻止访问任何其他屏幕。禁用主页按钮,禁止访问浏览器、设置等 这可能吗?我偶然发现了这个链接,但有几个人认为让活动自动启动不是一个好方法Java Android-自动启动应用程序并限制对其他应用程序的访问,java,android,Java,Android,我是Android开发的新手,我有一个为孩子开发的应用程序。我希望应用程序在设备启动时自动启动。当应用程序运行时,我希望它阻止访问任何其他屏幕。禁用主页按钮,禁止访问浏览器、设置等 这可能吗?我偶然发现了这个链接,但有几个人认为让活动自动启动不是一个好方法 谢谢:-这是将应用程序设置为设备中的启动应用程序 创建一个扩展广播接收器的类 public class BootUpReciever extends BroadcastReceiver { @Override public void onR
谢谢:-这是将应用程序设置为设备中的启动应用程序 创建一个扩展广播接收器的类
public class BootUpReciever extends BroadcastReceiver
{
@Override
public void onReceive(final Context context, Intent intent) {
Intent i = new Intent(context, ServerPreferenceActivity.class);
i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(i);
}
}
将清单文件的权限添加到多余的启动接收器
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
在manifest.xml中注册扩展广播接收器的接收器
<receiver android:enabled="true" android:name="com.app.reciever.BootUpReciever">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</receiver>
注意:在src文件夹中的一个单独的包中创建receiver类,以实现工作实现。您可以构建一个家庭应用程序,作为与用户的设备接口,这样您就可以管理用户体验。请看这里:
但构建一个启动器/家庭应用程序需要承担很多责任。您将负责所有用户访问:
设置
电话
其他应用程序
基本智能手机应用程序邮件、日历。。。。
听起来您需要自己的启动器,因为只有启动器可以阻止访问不必要的屏幕,并且主按钮将被启动器阻止。 它还将解决启动问题 您只需在AndroidManifest中声明活动,如下所示:
<activity
android:name="your.package.ActivityName
android:launchMode="singleTask">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
<category android:name="android.intent.category.HOME" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
激活你的创造力,并根据你的需要构建启动器。
祝你好运 关于你的问题: 我希望应用程序在设备启动时自动启动。 您可以实现用于捕获RECEIVE_BOOT_COMPLETED事件的。看 当应用程序运行时,我希望它阻止访问任何其他屏幕。 您可以在活动被破坏或暂停时重新启动它。你可以在后台检查一下。查看更多信息 禁用主页按钮 根本不可能。你必须依靠2的结果。在这里 阻止访问浏览器、设置等。 类似于3你真的无法避免这一点。但是,你可以检查你的应用程序是否在上面,如果不在上面,就重新启动它
希望这有助于。。。干杯 这不会阻止用户访问主屏幕或任何其他应用程序。这种方法将确保你的应用程序在启动时启动,以及单独的包是怎么回事?单独的包意味着在活动之外创建类,否则它将不会从清单路由接收方类。这种方法对我有效,可能还有其他方法。java包与java编译单元文件不同,您需要让广播接收器成为cu java源文件中的顶级类。谢谢这是我问题的第一部分。但我仍在努力解决如何锁定对其他应用程序的访问。您希望避免关闭您的应用程序。+1这实际上也是一个有趣的解决方案,尽管它要求将此启动器设置为默认值。根据必须实现的主屏幕功能,它可能有点复杂。但作为回报,你获得了很多控制权。我尝试了这个解决方案,它看起来是正确的方法,但我无法使用它,因为我缺乏Android方面的经验。我可以创建一个启动器,但问题是,每次我尝试打开另一个应用程序时,它都会给我一个可用启动器应用程序的列表,这与目的背道而驰,因为孩子可以选择默认应用程序,从而保证自己可以访问任何其他应用程序。不过我可能错过了什么。我不知道。