1

我正在开发一个信息亭模式应用程序,其中我希望我的应用程序作为默认启动器工作,而不是 android 启动器。在设备重启时,我的应用程序应该作为默认启动器弹出。同样,我创建了一个应用程序充当在 android 平板电脑上运行的 kiosk 模式应用程序的启动器,即 iBall 3G7171 HD7(4.2.2)。在清单中,我已授予以下相关权限。

<activity
    android:name="com.abc.Main"
    android:label="@string/app_name"
    android:launchMode="singleTop"
    android:screenOrientation="landscape">

    <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <!-- The following two intent-filters are the key to set homescreen -->
        <category android:name="android.intent.category.HOME" />
        <category android:name="android.intent.category.DEFAULT" />                 
    </intent-filter>

</activity>

当我在我的 samsung s2 上运行此代码时,在重新启动时,此应用程序作为启动器应用程序启动并按预期工作。但是,当我在平板电脑上运行它时,我看到该应用程序没有作为设备重启时的启动器应用程序启动,而是弹出的默认 android 启动器。

我尝试了什么:我听取了启动启动器应用程序的 BOOT COMPLETE 意图。但这里的问题是 BOOT COMPLETE 意图在大约 5 秒后被触发,在此期间默认的 android 启动器显示,发布我的启动器应用程序被调用.我不希望它以这种方式工作,因此收听启动完整广播的方法不适用于我的情况。

我想要的是:当我的设备重新启动时立即启动我的启动器应用程序。我当前的代码中缺少/做错了什么。任何帮助将不胜感激。非常感谢!

4

1 回答 1

2

如果您可以使用 adb shell 命令,那么

  1. 在设备中安装您当前的应用程序。
  2. 连接到 pc/mac 启用 USB 调试。使用此命令查找默认启动器的包名称。“ adb shell pm list packages
  3. 禁用默认启动器“ adb shell pm hide com.android.yourlauncher

完毕。

于 2016-01-25T18:01:36.143 回答