-1

一部のデバイスと同様に、一部の実装では、-1 に等しい RESULT_OK を返すことはないようであり、インテント エクストラに必要なすべてのデータを含めながら、誤解を招く 0 を返すだけです。

私は多くの Google のサンプル コードが単に resultCode に対して条件を実行しないのを見てきましたが、Google が完全に非機能的なメソッドを非推奨にする傾向があることを考えると、何も壊すことなく非推奨にすることができます。新しい onActivityResult を使用して、resultCode をメソッド パラメーターとして持たないようにしました。

特定のメッセージ パッシング プロトコルが単に失敗したように見えるものについての技術的な説明やブログ投稿があるかどうか疑問に思っていました。

4

1 に答える 1

4

結果コードの値は、特定のアクティビティの実装によって定義されたコントラクトです。Android 固有で定義されている唯一の契約は、結果コードが整数であることです。

RESULT_OKAndroid では、成功 ( ) と失敗 ( )の単純な定数が定義されRESULT_CANCELていますが、それらを使用するかどうか、どのような目的で使用するか、異なる値を使用するか、結果コードを設定しないか (この場合、デフォルトはRESULT_CANCEL)。多くの場合、単純な成功または失敗だけでは不十分であり、アクティビティは他の int 値を返します。

したがって、簡単に言えば、アクティビティのソースを調べて、それが何をするかを確認する必要があります (またはドキュメントを参照してください。ただし、コントラクトはそこで定義されている可能性は低いです)。

于 2016-09-15T22:53:34.550 に答える