2012-02-11 9 views
2

あなたは、Phoneのようなシステムの意図を処理できると宣言し、ユーザがそれをデフォルトのアプリケーションとして選択するとします。市場がアプリをアップデートするとき、なぜそれがデフォルトをクリアするのですか?それを防ぐ手段はありますか?もしDialer 1.0が電話ボタンを扱うようにしたいのであれば、Dialer 2.0はそれをやり直す必要はありません。アプリのアップデートがデフォルトをクリアするのはなぜですか?

答えて

4

デフォルトは、アプリケーションの特定の実装(アクティビティを実装するクラスの名前)にマッピングされます。これは、アプリケーションの更新時に変更される可能性があります。保守的で安全なために、プラットフォームは、アプリケーションが変更され、もはや存在しなくなったアクティビティへの参照をもたらす可能性があるため、アプリケーションが更新されたときにそれらをクリアしていました。これが起こらないようにするためにアプリで行うことは何もありません。

+0

インストール時には、新しいAPKが提供するアクティビティのリスト、および以前に設定されていたデフォルトの設定がわかります。したがって、ターゲットアクティビティがまだ存在するデフォルトを保持することはできませんか? –

+0

それはよりスマートになる可能性がありますが、現在はそうではありません。 – hackbod

関連する問題