0

我正在创建一个 HOME ( android.intent.category.HOME) 类型的应用程序,它会在第一个应用程序启动后立即启动另一个应用程序。到目前为止,我一直在活动片段上使用 onResume(),它运行良好(意味着在其他 Android 版本的其他平板电脑上),直到我在具有 Kitkat 的 SM-T230(Galaxy Tab 4 7" Wifi)上尝试它4.4.2.

我不知道为什么,但是对于那个平板电脑,“BOOT_COMPLETED”意图永远不会被触发。我尝试过启动许多不同的应用程序,并且每个应用程序都会发生同样的事情。上述意图从未启动。只有在反复按下并返回到 HOME 类型的应用程序后才会启动它(必须重复执行,因为应用程序每次都在 onResume() 第二个应用程序中启动)。如果系统从未启动它,则 wifi 服务、网络共享等将无法运行。

有趣的是,如果我忽略了第二个应用程序的启动,就会触发意图。

我正在考虑在 HOME 应用程序片段变得可见时尝试启动该应用程序,但我不知道该怎么做。有人知道如何做到这一点吗?

另外,如果您遇到同样的问题,我想阅读您的评论。

4

2 回答 2

1

问题是第二个应用程序在第一个 android 片段可见之前启动。为了解决这个问题,我添加了一个非常小的计时器,它会在超时后启动第二个应用程序。

@Override
public void onResume() {
    super.onResume();
    ...
    getView().postDelayed(scheduleLaunch, 2000);
}

private Runnable scheduleLaunch = new Runnable() {
    @Override
    public void run() {
        if (isAdded()) {
            launchMainApp();
        }
    }
};
于 2016-01-05T11:10:59.317 回答
0

你添加权限了吗?

<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
于 2014-11-27T12:56:40.900 回答