1

アプリに Google MAPs API を追加しましたが、これは重要な部分ではありません。このライブラリがないシステムでアプリを実行したいのですが、ユーザーがマップ機能にアクセスしようとしたときに例外が発生しないようにします。アクティビティの周りに try/catch ブロックを配置しようとしましたが、不足しているライブラリの例外をキャッチできないようです。マップ アクティビティを開始する前に、マップ ライブラリが見つからないことを検出する方法はありますか?

更新:この質問をした理由は、MK802 Android ミニ PC を購入したためであり、このデバイスが普及すると信じています。Android 4.0 に同梱されていますが、マップ API ライブラリがありません。アプリをデバイスにインストールできるようにしたいと考えています。現在、私のアプリは正常に動作しますが、ユーザーがマップ機能にアクセスしようとするとクラッシュします (あまり重要な機能ではありません)。これで問題ないと思いますが、可能であれば例外を回避することをお勧めします。

4

1 に答える 1

2

Google は、Android バージョン間でこれを行う方法に関する記事を提供しました。つまり、Android の特定のバージョンで API にアクセスする方法はありますが、Android の別のバージョンに存在しない場合は正常に失敗します。ここでも、コードのマップ部分に同じ前提を使用できます。

http://developer.android.com/resources/articles/backward-compatibility.html

肝心なのは、これを達成するためにリフレクションを使用しているということです。

リフレクションを使用する理由は、アクティビティが別のクラスをインポートしてもそのクラスが存在しない場合、アクティビティを作成できないためです。クラスのインスタンス化を試行/キャッチできるため、リフレクションを使用するとこれが解決されます。

于 2012-06-17T19:08:00.023 に答える