そのため、Samsung のドキュメントとフォーラムのさまざまなコーナーを読んで調べた結果、Accessory SDK 2.2.2 から 2.3.0 に正しくアップグレードする方法に関する重大な変更と解決策を見つけることができました。
まず、Accessory SDK 2.3.0 には 2 つのリリース ノート セクションがあります。1 つはリリース日が 2015 年 10 月 29 日で、もう 1 つは 2015 年 9 月 3 日です。SDK を構成する実際の jar を比較しました。おそらく更新されたのはドキュメントや例だけだと思います。それでも...同じバージョンの2つの「リリース」...さあ、Samsung!
とにかく、リリース ノートの 2 番目のセットでは、次のように言及されています。
アクセサリおよびアクセサリ ファイル転送を初期化するときに、新しいインテント アクションが必要になります。詳細については、プログラミング ガイドを参照してください。
この「プログラミング ガイド」に目を通してみると (ちなみに、2 つの 2.3.0 リリースの間のどこかで更新されたようです)、セクション 3.3.1 (19 ページ) に次の注記があることに気付きました。
ノート。アクションの名前が 2.3.0 から変更されました。下位互換性のために、古いアクションはしばらくの間継続的にサポートされます。
また、次のコード スニペットに属しているようです。
<receiver android:name="com.samsung.android.sdk.accessory.ServiceConnectionIndicationBroadcastReceiver">
<intent-filter>
<action android:name="com.samsung.accessory.action.SERVICE_CONNECTION_REQUESTED"/>
</intent-filter>
</receiver>
<receiver android:name="com.samsung.android.sdk.accessory.RegisterUponInstallReceiver">
<intent-filter>
<action android:name="com.samsung.accessory.action.REGISTER_AGENT"/>
</intent-filter>
</receiver>
アクションについて再度言及されているので、アプリのマニフェストのアクションと比較しましたが、確かに違いがあります。これらのレシーバーに対する私のアクションは次のように述べています。
<action android:name="android.accessory.service.action.ACCESSORY_SERVICE_CONNECTION_IND" />
<action android:name="android.accessory.device.action.REGISTER_AFTER_INSTALL" />
アクションを新しいものに更新した後com.samsung.**
、すべてが再び機能し始めました!
結論として、「下位互換性のために、古いアクションはしばらくの間継続的にサポートされる」というリリース ノートの記述は、単に真実ではありません。古いアクションはサポートされなくなったため、2.2.2 から 2.3.0 に更新すると、重大な問題が発生する可能性があります。アクションを新しいものに更新すると、すべてが修正されます。
更新: Samsung のボードの 1 つでこのスレッドを見て、この結論に達したのは私だけではないようです。