ここ数日間、新しい API で構築されたアプリで、以前の Android API のメソッドの実装を使用する方法を考え出そうとしています。
具体的にはstartBluetoothSco()
、Bluetooth SCO チャネルを介して仮想通話を開始するために使用しています。API 17 では、これは完全に機能しますが、API 18 以降startBluetoothSco()
では、仮想呼び出しの代わりに生の SCO チャネルを開きます (開発者ドキュメントに記載されているように: http://developer.android.com/reference/android/media/AudioManager. html#startBluetoothSco() )。私が使用しているアクセサリは、生の SCO チャネルでは何もしません。
このシナリオでは、API 17 を使用してアプリをビルドすることはできません。近い将来、他の開発者が新しい API の機能を必要とする可能性が高いからです。
Bluetooth コードをライブラリ プロジェクトにラップし、これを API 17 でビルドしてからメイン アプリケーションに統合し、それを API 18 でビルドすることができると思いました。残念ながら、これはうまくいきませんでした。OS は、startBluetoothSco()
API 18 でビルドされたアプリから が呼び出されていることを認識しているため、メソッドの API 18 実装を使用しているようです。
API 18 アプリケーションに API 17 実装を強制的に使用させる方法を誰か提案していただければ、とても感謝しています。
ありがとう