android - 更改 Samsung Galaxy Camera 上的默认 BOOT_COMPLETED Activity

标签 android android-intent

我的问题特别涉及 Samsung Galaxy Camera 设备。它附带一个定制的相机应用程序。我猜是三星自己开发的。由于该设备可以被视为相机而不是带相机的手机,他们似乎决定他们的相机应用程序应该在启动时启动,这与其他在启动完成后将用户带到主屏幕的设备形成对比。

现在,在我们的 szenario 中,我们为设备提供了我们自己的应用程序,该应用程序具有自己的相机界面。我们可以在信息亭模式下运行我们的应用程序,但我们希望允许用户使用可能对他的日常工作也有帮助的其他应用程序。

理想情况下,设备应在启动完成后启动主屏幕。然后用户可以决定启动我们的应用程序或其他应用程序。但是,如果这不可能,那么如果我们的应用程序在启动时启动而不是在主屏幕上启动也是可以的(因为用户可以使用主页按钮到达主屏幕)

因为我看不到任何机会在启动完成后强制出现主屏幕,所以我尝试默认启动我们自己的应用程序。为了实现这一点,我创建了一个具有以下过滤器的接收器:

<intent-filter android:priority="1000">
<action android:name="android.intent.action.BOOT_COMPLETED"/>
</intent-filter> 

收到 Intent 后,我​​启动应用程序的主 Activity。

结果,在启动设备后,三星的默认相机应用程序将首先启动。你会看到他们的主要 Activity 和最烦人的部分:相机镜头将完全展开。片刻之后,我们的应用会自动启动。

我的猜测是,三星的相机应用程序也会对启动完成事件使用react。我们有没有可能阻止他们的应用程序启动?

最佳答案

我相信这可以实现——尽管是在一个复杂的庄园中——无需使用 DevicePolicyManager 进行 root。通过使您的应用程序成为设备管理员并禁用相机,内置相机应用程序将不会在开机时启动(也不会按下相机按钮)。一旦您的应用程序启动,请重新启用相机并享受乐趣。

我还没有机会创建代码(并且会在有机会时更新此答案),但我已经使用 Play 商店中的 DisableCameraDevice 应用程序进行了一定程度的测试。通过此应用程序设置,相机应用程序不会在启动时启动,而我的应用程序会在几秒钟的主屏幕时间后启动接收 BOOT_COMPLETE 。

它也不会停止相机按钮事件(但会停止相机应用程序),因此您可以为此做同样的事情(这似乎也忽略了 android:priority 值)。

如果你想走得更远,你甚至可以让你的相机应用程序响应 CommonsWare 提到的 ACTION_MAIN、CATEGORY_HOME Intent ,并持续选择它作为主屏幕应用程序。

结合不显示主页/后退按钮的全屏应用程序,您可以很好地锁定一个防呆相机给客户。

关于android - 更改 Samsung Galaxy Camera 上的默认 BOOT_COMPLETED Activity ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14436723/

相关文章:

android - Android 的背景图像大小

java - 相当于数组的 push() 或 pop()?

android - NetworkImageView 没有从第一次加载图像

android - 如何在 TextInputLayout 的密码切换按钮上禁用涟漪效应

android - 在同一 Activity 中在 android 中播放 youtube 视频有哪些替代方案?

java - ArrayList<custom-object> 的 Parcelable 实现

android - 自定义 PIN Android 的应用程序生命周期

java - 确认我对初级Android概念的理解(使用多个Activity)

java - 在 Galaxy S5 上使用 intent-filter 打开 .zip 文件

android - Camera.Open 不打开相机