発信通話を処理するためのゲートウェイを実装したいと考えています。
最新の Android バージョン 2.x では、非表示の ACTION_CALL 追加文字列「com.android.phone.extra.GATEWAY_URI」を使用してこれを簡単に実行できます。
しかし、1.6 などの以前のバージョンでは、その方法がわかりません。Google Voiceがやっているからこそできるはずです。誰か助けてくれませんか?
ありがとう、エマニュエル
発信通話を処理するためのゲートウェイを実装したいと考えています。
最新の Android バージョン 2.x では、非表示の ACTION_CALL 追加文字列「com.android.phone.extra.GATEWAY_URI」を使用してこれを簡単に実行できます。
しかし、1.6 などの以前のバージョンでは、その方法がわかりません。Google Voiceがやっているからこそできるはずです。誰か助けてくれませんか?
ありがとう、エマニュエル
エマニュエルさん、デバイスの 76% はすでに Android 2.x を実行しています。おそらくその努力は無駄です。Gingerbread は年末までに登場すると予想されており、これにより 1.6 デバイスの割合がさらに低下します。半年も経たないうちに、Android 2.x 以降は 80% を超えます。プラットフォーム バージョンの配布http://d.android.com/resources/dashboard/platform-versions.htmlを見てください。Android Open Source Project のソース コードをご覧ください。
InCallScreen.javaであなたが言及した文字列を見つけました。古いソース コードを掘り下げて、文書化されていない API を介してアクセスできるかどうかを調べる方法が得られるかもしれません。しかし、私の提案は、1.6 デバイスの最後の 25% はすぐに消えてしまうので気にしないことです。
[更新] 動作させるためには電話アプリを再コンパイルし、何が起こっているかを正確に確認できるようにデバッグ可能にすることをお勧めします。おそらく、1.6 を実行している ASOP デバイスを使用することが、Android がどのようにそれを行っているかを深く掘り下げるための最善の策でしょう。基本的に、2.x のこの機能に関連するすべてのコードを 1.6 にバックポートする必要があります。タイム トゥ マーケットの観点から、2.x をサポートするアプリをリリースし、1.6 向けに調整された 2 番目のバージョンをリリースすることをお勧めします。1.6 のためだけにリリースを遅らせるのは、悪いビジネス アイデアのようです。
GATEWAY_URI を使用するそのコードは、間違いなく Eclair に追加されました。AOSP を調べると、packages/apps/Phone/src/com/android/phone/InCallScreen.java で、そのコードは Donut に完全に存在しません:
// If a provider is used, extract the info to build the
// overlay and route the call. The overlay will be
// displayed the first time updateScreen is called.
if (PhoneUtils.hasPhoneProviderExtras(intent)) {
mProviderLabel = PhoneUtils.getProviderLabel(this, intent);
mProviderIcon = PhoneUtils.getProviderIcon(this, intent);
mProviderGatewayUri = PhoneUtils.getProviderGatewayUri(intent);
mProviderAddress = PhoneUtils.formatProviderUri(mProviderGatewayUri);
mProviderOverlayVisible = true;
if (TextUtils.isEmpty(mProviderLabel) || null == mProviderIcon ||
null == mProviderGatewayUri || TextUtils.isEmpty(mProviderAddress)) {
clearProvider();
}
} else {
clearProvider();
}
代替案が見えません。Donut からその電話アプリケーションを取得し、必要なものを追加して、Donut デバイスで新しい電話アプリケーションとしてリリースすることは、おそらく幸運です...