其他分享
首页 > 其他分享> > 在专用设备上自动启动Android应用的最佳方法是什么?

在专用设备上自动启动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