0

次のリンクの助けを借りて、コードでデフォルトのランチャーをリセットでき ます デフォルトのランチャー/ホーム画面の置き換えをリセットするには?

ここで、カスタム ランチャーをデフォルトのランチャーとして設定したいと思います。しかし、次のコードは機能しません。クラッシュします

ComponentName componentName = new ComponentName("com.xxx.launcher", "com.xxx.launcher.LaunchActivity");

            PackageManager pm = getPackageManager();
            int flag = ((pm.getComponentEnabledSetting(componentName) == PackageManager.COMPONENT_ENABLED_STATE_ENABLED) ? PackageManager.COMPONENT_ENABLED_STATE_DISABLED
                    : PackageManager.COMPONENT_ENABLED_STATE_ENABLED);
            pm.setComponentEnabledSetting(componentName, flag, PackageManager.DONT_KILL_APP); //crash at this line..
4

1 に答える 1

1

カスタム ランチャーをデフォルトのランチャーとして設定したい

それは不可能です。ユーザーは、HOME を押してアプリをデフォルトとして選択するなどして、ホーム画面をデフォルトのホーム画面として設定できます。ただし、ホーム画面をデフォルトとして受け入れるようユーザーに強制することはできません

しかし、次のコードは機能しません。クラッシュします

そのコードは、「カスタムランチャーをデフォルトのランチャーとして」設定しません。これは単に、あなたがホーム画面になる可能性があるかどうかを制御するだけです (無効になっている場合は、ホーム画面になることはできません)。

なぜクラッシュしているのかについては、スタック トレースがなければ、特定するのは困難です。

于 2013-06-16T13:35:37.333 に答える