2

理由はわかりませんが、Eclair では、デフォルトの (派手ではない) ギャラリー アプリの動作が Cupcake バージョンから変更され、私の商用アプリケーションの 1 つが壊れてしまいました :-(

まず、ギャラリーを長押しして「Diashow」を選択すると、インテント フィルターを実装するアプリケーションによって取得されるインテントが発行されなくなります。代わりに、「com.android.gallery/com.android.camera.ViewImage」を追加で直接呼び出します。

質問: このインテントを傍受して、ユーザーが自分のアプリケーションを選択して Diashow を実行できるようにすることは可能ですか?

第 2 に、VIEW インテントのインテント エクストラが台無しになっています (私のビルドの 2.1 では): インテントのクエリ パラメータで画像の BucketId を提供する代わりに。しかし 2.1 では、BucketId はインテントのエクストラに移動されました。を除外する; を渡していませんが、代わりBUCKET_IDにローカライズされていませんBUCKET_DISPLAY_NAME:-/

質問:どうすれば、一意BUCKET_IDではない可能性のあるものを操作する必要がないように、インテントから一意を取得できBUCKET_DISPLAY_NAMEますか?

これらの問題に対して有効な解決策を思いついた人はいますか?

Android Intents の全体的なアイデアは、アプリケーションをベースの Android 環境に統合できるようにすることだと思っていましたが、私のビルド 2.1 は、このアイデアがまだ理論の世界にあることを証明しています :-(

4

2 に答える 2

1

まず、ギャラリーを長押しして「Diashow」を選択すると、インテント フィルターを実装するアプリケーションによって取得されるインテントが発行されなくなります。

これIntentはおそらく SDK の一部ではありませんでした。つまり、最初から依存するべきではありませんでした。Intentsギャラリーが共通をサポートする範囲を除いて、SDK の一部であるギャラリー アプリケーションにはありませんIntents(例: GET_CONTENTPICK)。

質問: このインテントを傍受して、ユーザーが自分のアプリケーションを選択して Diashow を実行できるようにすることは可能ですか?

深刻なセキュリティ ホールがあることを意味するため、そうならないことを願っています。

質問: インテントから一意の BUCKET_ID を取得するにはどうすればよいですか?

これIntentは文書化されていません。使用しないでください。標準のギャラリー アプリケーションが付属していない一部の Android デバイスでは、アプリケーションが機能しなくなります。すでに経験したように、アプリケーションは Android の将来のバージョンで機能しなくなります。Intentsアプリケーションの作成者によって文書化されていることに固執してください。

Android Intents の全体的なアイデアは、アプリケーションをベースの Android 環境と統合できるようにすることだと思いました

それらIntentsが文書化され、問題のアプリケーションの作成者によってサポートされている場合のみ。Intentsソース コードや LogCat などで見つけたものをランダムに取得して使用できると思ったら、それは間違いです。

于 2010-04-26T13:17:51.367 に答える
0

質問: このインテントを傍受して、ユーザーが自分のアプリケーションを選択して Diashow を実行できるようにすることは可能ですか?

最初の質問への回答....しかし、これでは、アプリを再構築してから更新する必要があるかもしれません...

自分が起動したインテントを自分のアクティビティだけが受け取るようにするには、インテントに追加のフラグを追加するか、独自のカスタム アクションを作成してからインテントを起動します。アクティビティを受信したら、アプリケーション マニフェスト ファイルにインテント フィルターを設定し、カスタム アクションについて言及します。これで完了です。カスタム アクション インテント フィルターで割り当てられたアクティビティのみがインテントを受け取ります。

質問: インテントから一意の BUCKET_ID を取得するにはどうすればよいですか?

以前の Android バージョンでアプリが壊れる可能性があるため、問題が発生する可能性があるため、これを試みないでください。

于 2010-04-26T13:22:09.370 に答える