我在Android开发方面相当新,我有一个我正在为孩子们开发的应用程序。我希望应用程序在设备启动时自行启动。当应用程序运行时,我希望它阻止访问任何其他屏幕。禁用家庭按钮,防止访问浏览器,设置等。Android - 自动启动应用程序并限制对其他应用程序的访问
这可能吗?我偶然发现了这个链接http://www.androidsnippets.com/autostart-an-application-at-bootup,但有些人认为这不是一个好的方法来让活动自动启动。
谢谢:-)
我在Android开发方面相当新,我有一个我正在为孩子们开发的应用程序。我希望应用程序在设备启动时自行启动。当应用程序运行时,我希望它阻止访问任何其他屏幕。禁用家庭按钮,防止访问浏览器,设置等。Android - 自动启动应用程序并限制对其他应用程序的访问
这可能吗?我偶然发现了这个链接http://www.androidsnippets.com/autostart-an-application-at-bootup,但有些人认为这不是一个好的方法来让活动自动启动。
谢谢:-)
这是设置应用程序作为启动应用程序在设备 创建一个类继承广播Reciever
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文件夹的单独包中创建接收器类以实现工作实现。
您可以构建一个家庭应用程序这将是与用户的设备接口,通过这样做,您可以管理用户体验。看看这里:SO Question
但是构建启动器/家庭应用程序包含很多责任。你将负责所有用户的访问:
听起来就像你需要自己的发射器,因为只有发射器可以阻止访问不必要的屏幕,主页按钮将被启动器“阻止”。
它也将解决“启动”问题。
所有你需要做的就是申报Activity
在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>
激活你的创造力,并建立启动您的需求。
祝你好运!
关于你的问题:
。“我想应用程序时,该装置启动时,开始自己”
您可以实施BroadcastReceiver来捕获RECEIVE_BOOT_COMPLETED事件。请参阅this post。
“当应用程序运行时,我希望它阻止访问任何其他屏幕。”
无论何时它被破坏或暂停,您都可以重新开始活动。你可以在背景Service中查看。检查this post了解更多信息。
“禁止家庭按钮”
根本不可能的。你必须依靠这里的结果。 “
”阻止访问浏览器,设置等。“
类似于3. - 你不能真的避免这一点。但是,您可以检查您的应用是否在顶部并重新启动它,如果没有。
希望这会有所帮助...干杯!
这不会阻止用户访问主屏幕或任何其他应用程序。这种方法将确保他们的应用程序在启动时启动,还有单独的软件包有哪些? – 2013-05-09 12:08:16
单独的包意味着在活动之外创建类,否则它不会从清单中路由接收器类。这种方法对我有用,可能会有其他方法。 – 2013-05-09 12:11:27
java包与java编译单元(File)不同,您需要让您的Broadcast Receiver成为cu(java源文件)中的顶级类。 http://en.wikipedia.org/wiki/Java_package。 http://blog.ajduke.in/2012/09/23/java-compilation-unit/ – 2013-05-09 12:19:00