4

この質問は以前に尋ねられたことがあると確信していますが、どこにも見つからなかったので、噛まないでください.

近くのデバイスと通信する必要があるAndroidアプリを作成しています.2つのデバイスが近くにある場合は、WifiDirect APIを使用したいと考えています.

ただし、そうでない場合でも、アプリケーションは動作し、参加しているデバイス間で通信するために他の効果の低い方法 (Wifi アクセス ポイントの共有など) を使用します。

また、このアプリを、WifiDirect API をまったく持たない Android 2.2 のような古いデバイスでも実行できるようにしたいと考えています (>=4.0 だと思います)。

だから、私のアプリがオプションで新しいAPIを使用するようにする方法はありますが、古い電話の場合は必ずしもそうではありませんか?

4

2 に答える 2

9

だから噛まないでください

少なくとも少しかじることはできますか?ただのニブ?

:-)

だから、私のアプリがオプションで新しいAPIを使用するようにする方法はありますが、古い電話の場合は必ずしもそうではありませんか?

Java バージョン ガード ブロックで新しいクラス/メソッドへの参照をラップできます。

if (Build.VERSION.SDK_INT>=Build.VERSION_CODES.ICE_CREAM_SANDWICH) {
  // do stuff with WifiP2pManager
}
// optional else block for workaround for older devices

まだ使用していない WiFiDirect の詳細は他にもあるかもしれませんが、それが基本的な手順です。

于 2012-12-19T00:17:14.917 に答える
0

で現在の API レベルを確認できますBuild.VERSION.SDK_INT。if/case ステートメントで使用して、API ごとに異なるコードを選択します。また、minSdk の設定が少ない場合、特に後の API 用のコードに関するエラーまたは警告が表示される場合があります。これらの後の API クラスに注釈を付けることで、これらに対処できます。@TargetApi(APILEVEL)

于 2012-12-19T00:19:45.837 に答える