1

プログラムでデフォルトのホーム画面の設定を解除しようとしています。私のアプリはマニフェストでホームとして定義されていますが、ユーザーが電話のホーム画面をデフォルトとして選択した場合 (ホーム画面を選択するダイアログで)、アプリをホームとして再度設定することはできません。

ユーザーが私のアプリをデフォルトとしてホーム画面として選択した場合(チェックボックスを「デフォルトとして設定」)、私は次のことを行うだけです:

clearPackagePreferredActivities("MypackageApp"); //パッケージマネージャーから

その後、セレクターが再び表示されます。しかし、現在のホーム画面を選択するダイアログが再び表示されるようにする方法がわかりません(ユーザーが電話のホーム画面をデフォルトとして選択した場合)。私はこれを試しました:

clearPackagePreferredActivities("com.android.launcher"); //packagemanager からしかし、私はエラーを取得します: java.lang.security.exception ユーザー*も現在のプロセスも android.permission.SET_PREFERRED_APPLICATIONS を持っていません。しかし、マニフェスト アプリでこのアクセス許可を定義しました。

4

1 に答える 1

2

プログラムでデフォルトのホーム画面の設定を解除しようとしています。

幸いなことに、明らかなセキュリティ上の理由から、これは不可能です。

私のアプリはマニフェストでホームとして定義されていますが、ユーザーが電話のホーム画面をデフォルトとして選択した場合 (ホーム画面を選択するダイアログで)、アプリをホームとして再度設定することはできません。

別のホーム画面に戻ったユーザーは、これは非常に良いことだと考えるでしょう。

しかし、マニフェスト アプリでこのアクセス許可を定義しました。

ファームウェアの署名に使用されたものと同じ署名キーによってアプリケーションが署名されている場合にのみ、その許可を保持できます。

于 2012-04-10T15:26:31.390 に答える