2016-03-23 15 views
1

私はAIDLをAndroid用アプリに使用しています。ここに2つの質問があります。AIDLファイルが一致しないとどうなりますか?

ケース1。クライアントのaidlファイルには1つのメソッドa()があり、サービスファイルには2つのメソッドa()b()があります。

正常に動作しますか?私はテストして、何の問題も見なかった。 binService()メソッドは正常に動作します。

ケース2。クライアントの補助ファイルには2つの方法a()b()がありますが、サービスのファイルにはa()メソッドしかありません。

binService()メソッドが機能します。そしてクライアントでb()メソッドを呼び出すと、クラッシュします。ここでは、binServiceは機能しないと考えました。なぜなら、aidlサービスはメソッドb()を持っていないからです。

私が得た結果が正しいことを確認したいと思います。それは常にすべてのデバイスで発生します。

答えて

0

あなたが得た結果は正しいです。また、補助ファイルの順序は重要です。

例あなたは、クライアントとサービスで2つの方法がある場合:

a() 
b() 

を更新したAIDLを使用してクライアントを更新しない場合、あなたはこの場合

a() 
c() 
b() 

方法c()を追加しましたクライアントからb()メソッドを呼び出すと、サービスでc()が呼び出されて終了します - これは変ですが、これはうまくいくようです(私はアンドロイド4.3で研究していました)

関連する問題