ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

在专用设备上自动启动Android应用的最佳方法是什么?

2019-06-23 18:13:12  阅读:297  来源: 互联网

标签:android startup boot homescreen dedicated


我是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

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有