HTC Senseのカレンダー起動方法
Tattooを初めとする、HTC Sense UIには、Google標準のカレンダーアプリは入っていません。
従って、カレンダーを起動するアプリ(タオでは、tCalendarや、tCalendarWidget)は、HTC Sense上ではカレンダーアプリを起動できません。HTCのカレンダーアプリを起動するように変更する必要があります。
tCalendarWidgetは、前から対応しようとは思っていたのですが、延び延びになっていました。
Desireが明日発売されますから、必然的に対応する必要が出てきたのであわてて対応してきました。
以下、解説です。
概要
既にカレンダー起動ロジックを書いている方は、HTCのパラメータだけわかれば対応可能で解説は必要ないと思います、Googleのカレンダーアプリと、HTCのカレンダーアプリは以下のようなコンポーネント名となっています。
//HTCSense以外のカレンダーprivate static final String DEFAULT_CALENDAR_PACKAGE = "com.android.calendar";private static final String DEFAULT_CALENDAR_CLASS = "com.android.calendar.LaunchActivity";//HTCSenseのカレンダーprivate static final String DEFAULT_CALENDAR_PACKAGE_HTC = "com.htc.calendar";private static final String DEFAULT_CALENDAR_CLASS_HTC = ".LaunchActivity";
ロジック的には、Googleカレンダーが見つからなければ、HTCカレンダーを起動する処理に変更するだけです。
チェックロジック
Intent intent = new Intent();ComponentName componentName = new ComponentName(DEFAULT_CALENDAR_PACKAGE, DEFAULT_CALENDAR_CLASS);intent.setComponent(componentName);final PackageManager packageManager = context.getPackageManager();List<ResolveInfo> list = packageManager.queryIntentActivities(intent, PackageManager.MATCH_DEFAULT_ONLY);if(list.size() <= 0 ){/** HTCSenseの場合*/componentName = new ComponentName(DEFAULT_CALENDAR_PACKAGE_HTC, DEFAULT_CALENDAR_CLASS_HTC);intent.setComponent(componentName);}
こんな感じで、指定されたコンポーネントがあるかをチェックしていくだけです。(チェックメソッドを作った方がよいでしょうね)
ちなみに、現在デモで出ているIS01もGoogle標準のカレンダーはインストールされていませんし、Alex eReaderも同じくインストールされていません。
」
ブログ内の関連する記事
- 飲み屋でなにか新形を拾った
- Android Alex eReader を見てきた。
- ハフトテクノロジー Alex eReader 400ドル発売中
- Android IS series Concept MovieがYoutubeにあった
- IS01展示会に行ってきました。
- シャープ エミュレータ インプレッション
- Android端末「SHARP IS01」がauから発売
- シャープ製 開発端末 JK-DK01
- Android SH Developers Square
- シャープがAndroid端末を2010年前半に発売
コメント
コメントを投稿