在专用设备上自动启动Android应用的最佳方法是什么?
作者:互联网
我是Android编程的新手,正在开发一个可以为设备提供界面的应用程序.应用程序将运行的Android设备将附加到设备,仅用于控制设备.我正在开发的应用程序将是唯一一款在专用Android设备上运行的应用程序.
要求的功能之一是让Android设备启动时自动启动应用程序.我已经通过检测ACTION_BOOT_COMPLETED意图来实现此功能,如this thread中所述.但是,我已经看到了建议将应用程序设置为主屏幕的替代方法,如this thread中所述.
我意识到通过检测ACTION_BOOT_COMPLETED来实现自动启动功能,正如我所做的那样,可能不是一般的Android应用程序的最佳方法.但是,如上所述,在我的情况下,我正在开发的应用程序将是设备上唯一使用的应用程序.鉴于此,我采取的方法是否合理?或者有更好的方法来实现自动启动功能吗?
请注意,一个考虑因素是易于配置Android设备.对于我正在采用的方法,将需要一个手动步骤,即第一次启动应用程序.但是,如果我采用替代方法将应用程序作为主屏幕,那么看起来还需要手动步骤,因此在这方面采用这种方法没有任何优势.
谢谢您的帮助!
编辑:
我已经尝试通过修改AndroidManifest.xml将应用程序设置为主屏幕,如下面的Holmes所示.以下是我在两种方法的比较中发现的结果:(1)使用主屏幕方法的代码更简单,只需要对AndroidManifest.xml进行微调,而不是进行更实质性的更改和额外的BroadcastReceiver类. (2)使用主屏幕方法设置程序稍微复杂一些,因为你不仅要打开应用程序,还要做更多复杂的操作. (3)主屏幕方法可以更好地将用户限制在单个应用程序中,因为他无法使用默认主屏幕来启动其他应用程序.基于这些结果,我可能会使用主屏幕方法.
解决方法:
我目前正在使用专用设备应用程序,我可以为您提供一些可能有用的详细信息.
收听ACTION_BOOT_COMPLETED与等待设备完成启动,启动它的Home应用程序然后启动应用程序相同.
我相信你不希望你的最终客户看到主屏幕,我也不想看.
但是,您可以将应用程序定义为Android设备的HOME应用程序.一旦它完成启动,它将是运行中的第一个可见应用程序.
<activity....>
<!-- Put this filter inside the activity you want to make the Home screen -->
<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>
注意:如果您需要在专用设备开启时自动启动设备,请尝试从Android中取出电池并直接连接.这与您的问题无关,但我看到的方式可能对您的项目有所帮助.
标签:android,startup,boot,homescreen,dedicated 来源: https://codeday.me/bug/20190623/1272984.html