4

カスタム アドレス帳 (携帯電話のデフォルト アドレス帳をオーバーライドする) を作成したい場合、およびそれをすべてのアプリケーションで使用したい場合、my は何にする必要がありますintent-filterか? そのようなサードパーティのアプリが悪意のある可能性があるという事実を考慮して、Android は私がそのようなことを行うことを許可しますか?!

そして、さらに別のアドレス帳アプリを使いたいと思ったら、2 つ目のアプリにも同じものがあると思いintent-filterますよね。通話中に連絡先ボタンをクリックすると、フレームワークはどのアプリを選択するかをどのように決定しますか? 言い換えれば、フレームワークは、複数の間で競合が発生した場合にインテントをどのように解決しintent-filtersますか?

4

2 に答える 2

3

Home を含め、Android プラットフォーム上の任意のアプリケーションを置き換えることができます。Android のドキュメントでは、 Intents と Intent Filtersについて知っておくべきことがすべて説明されており、質問に答えるIntent Resolutionというセクションがあります。Intent クラスの Intent Resolution セクションには、いくつかの追加情報があります。

私が知る限り、Android は競合を解決しようとはしません。ユーザーに実行するアプリケーションを尋ね、このアクティビティをこのインテントのデフォルトとしてマークする選択肢を提供します。彼らはここでメールアプリの例を挙げています。

于 2010-02-15T10:59:31.780 に答える
0

Smiljanić 氏は基本的には正しいのですが、Android には交換できる連絡先アプリケーションはありません。連絡先、通話履歴、ダイヤラーをサポートするアプリケーションである Dialtacts があります。主にダイヤラを置き換えることができないため、そのアプリケーションを置き換えることはできません。

そのため、一部のインテント フィルターをオーバーライドして、一部の連絡先関連のリクエストを制御できる場合がありますが、オーバーライドされた Dialtacts の連絡先部分を取得することはできず、ユーザーを混乱させます。

于 2010-02-15T13:31:46.720 に答える