アンドロイド4の起動後、CalendarContract
クラスがデバイスカレンダーにイベントを書き込むことを紹介しています。しかし、私はAPIレベル8を使用して私のアプリケーションを作成している場合、私はAPIレベル8で使用している私のプロジェクトでこのCalendarContract
クラスを使用したい私はデバイスのカレンダーとこのコードdoen '私のプロジェクトではCalendarContract
クラスをマニフェストファイルのsdkバージョンを変更せずに使用することができます。なぜなら私はsdkバージョンを14に変更するとCalendarContract
クラスを使用することができます。アンドロイド4の問題です。しかし、そうすることで、私のアプリはapi 8 -13で動作し始めていません。アプリが市場に出ているので、やりたいことはありません。だから、この問題を解決する方法はありますか?例APIレベル8でCalendarContractクラスを使用する方法
答えて
を実行しているAndroidデバイス上でCalendarContract
を使用することはできませんdiffのApiレベルのために... Programmatically obtain the Android API level of a device?
を私に教えてくださいあなたは、プログラムAPIレベルを見つけるための方法を見つける...あなたは、おそらくあなたは、適切なコードを使用することができた場合にAPIレベル未満14
私はこの問題を回避するために、SOと幅広いWebで見られるさまざまなアドバイスを組み合わせています。
基本的に私はCallendarAccess、同じパブリックメソッド構造を持つ2つのクラス、メソッドが古い文書化されていない道への決意を呼び出し、正しいアンドロイドを利用CalendarGTE14れるCalendarLT14と呼ばれるものをと呼ばれる世話人を使用V14 +物事を行う方法。
どちらも、これらのクラスは、CalendarLT14とCalendarGTE14の公共のものに共通の抽象メソッドを含んでいCalendarServiceと呼ばれる自己記述された抽象クラスを拡張します。
IceCreamSandwich(v14)未満のAndroidバージョンは、CalendarContract callendarContactなどのコードをコンパイルしません。は、それ以降のバージョン用に作成されています。これを解決するには、マニフェストのターゲットバージョンを14(Android 4.0)に設定しますが、最小バージョンを7(アンドロイド2.1)に設定します。これは、コード4.0がコンパイルされ、呼び出されないため、下の世話人の方法の例。
public CalendarService getInstance()
{
if (Build.VERSION.SDK_INT >= 14)
return CalendarGTE14(context)
else
return CalendarLT14
}
このソリューションでは、介護者が選択世話人またはCalendarServiceクラスへの呼び出しを行うプログラマに完全に透過的に使用しているAndroidのバージョンに関連して、正しいコードに解決されたオブジェクトを返すことを意味します。
- 1. Android:APIレベル8とhttpsでCookieを使用する方法
- 2. EclipseでAPIレベル8〜3を変更する方法
- 3. APIレベル17で「setTitle」を使用する方法
- 4. アンドロイドスタジオのAndroid 2.2 APIレベル8
- 5. ScaleAnimationのAndroid APIレベル8
- 6. Android 6.0でJava 8 Stream APIを使用する方法
- 7. 可能であればAPIレベル8クラスを使用する方法とそれ以外の方法は何もしません
- 8. CalendarContract:列 'dtstart'が無効です(injectCalendar()を使用)
- 9. アンドロイドAPIレベル19のラジオボタンをアンドロイドAPIレベル19のままにする方法は?
- 10. mysql:基本レベルの階層レベルでLIMITを使用する方法は?
- 11. ImageButtonのClickイベントをキャプチャできません - Android APIレベル8
- 12. WordPressでAPIを使用する方法
- 13. RecyclerViewを使用してAPIレベルで問題を解決する
- 14. Google APIエンジンのxml rpcクライアントを使用してJavaのタイムアウトを30秒にする方法 - 低レベルAPIを使用してアクセスする方法
- 15. IntelliJで、Android APIレベルを設定する方法
- 16. Android APIレベル23で融合ロケーションプロバイダを実装する方法
- 17. Android APIレベルでCursorLoaderを実装する方法11
- 18. 最小APIレベルのアプリでRobotフォントを使用する14
- 19. Android APIレベル8アプリケーションにActionBarを追加しますか?
- 20. エラーは、アプリケーションの私の1でAPIレベル8
- 21. Drupal 8サブテーマで異なるテーマを使用する方法
- 22. ファイル形式アンドロイドモバイル2.0(APIレベル8)をプログラム的にWindows PCに転送する方法はありますか?
- 23. ICS CalendarContract RDATE形式ですか?
- 24. Google Analytics APIで使用するPHPクラス
- 25. IIS 8でワイルドカードリダイレクトを使用する方法
- 26. httpをangl-cli v1.0.0-beta.11-webpack.8で使用する方法
- 27. erbテンプレートでutf-8エンコードデータを使用する方法
- 28. Java 8 lambdasをJythonで使用する方法
- 29. drupal 8でsplit twigテンプレートフィールドのコンテンツタイプを使用する方法は?
- 30. Java 8機能でRealmデータベースを使用する方法
それは私が知っているが、Apiレベルを見つけた後、何をすべきか私に説明してください。 – Rahul
あなたはイベントを取得するためのメソッドを持ったライブラリを作成します。引数としてAPIレベルを取って、イベント.. – ngesh
私は例を私に示すことができます。私は自分自身のライブラリを作成する方法と、イベントを取得するためのメソッドを追加する方法を知らない – Rahul