2012年1月31日火曜日

通話履歴 3D(Call History 3D)

今度のバージョンアップで、通話時間・不在時の呼出時間等、通話履歴Sと同等にします。
少し時間かかると思うけどね。

2012年1月30日月曜日

通話履歴 S(Call History Simple) ver.3.0.0

version 3.0.0
デフォルトに設定できるようにしました。
このアプリで、未確認の不在着信を確認済みにするようにしました。
通知を消去できます(Android2.2まで、2.3以降は通知を消去できません。)
電話帳の名前が変更されていたら、通話履歴のデータベースを変更するようにしました。

内部の処理方法を大幅に変更しました。

2012年1月26日木曜日

標準の通話履歴

今更ながら、androidのデフォルト通話履歴アプリのコードを見てみた。

理解不能な箇所がいっぱい><勉強不足ですね・・・

まあ、非公式なクラスを使ったりしてるんで 余計にわかりません。

が!わかったこともあります。

コールログデータベースの書き直し
 ログデータの電話番号から電話帳を検索
 名前・ラベル・電話種別のどれかが 電話帳データと違っていたら コールログデータベースを電話帳のデータに書き直す。CACHED_NAMEとCACHED_NAMBER_TYPEとCACHED_NUMBER_LABELですね・・・そう、CACHEDと付いてる意味がそうゆうことなのね。

データベースのクエリーをAsyncQueryHandlerを使ってた。非同期のバックグランド処理ですね。

Viewが表示されたら、未確認の不在着信を確認済みにしてた。

通知領域の不在通知を消去してた。非公開のクラスだった・・・

ということで、ただいま私のアプリも 同じことができるように改造中です。

通知領域の不在通知を消すのは、リフレクションでできるんですが・・・これをするには、MODIFY_PHONE_STATEが必要みたいです。このパーミッションAndroid2.3以降はユーザーアプリでは 使えなくなったので、不在通知を消すことができません。
それに・・・Aindroid2.3からは、通知を消去するボタンで未確認を確認済みにもしてくれません。困ったもんです!

今度のバージョンアップでデフォルトに設定できるようにするんですが、上記理由により未確認を確認済みにするには、通話履歴を見てその後通知を消去するで 消去という2度手間になります。
なんで、2.3以降の人はデフォルトに設定しないほうがいいかも・・・

2012年1月9日月曜日

通話履歴 S(Call History Simple) ver.2.1.2

version 2.1.2
ListViewでのNullPointerエラーの原因がわからないので、いろいろ試しております。
自分の実機では、まったくそのエラーがでないので どうすればいいのやら・・・

ググってみると adapterをカスタマイズしてgetViewをオーバーライドすればいいってなってるけど、もともとそうしてるし><
今回したのは、getView内のStringがNullの場合処理です。
通話履歴で名前と番号がStringなんだけど、普通で考えると両方Nullはありえない。
が!!!、もしかしたらあるかもしれんと・・・最近 通話無料になるアプリあるし・・・

たぶん、考え方の方向を間違ってるんだろうな 俺・・・

2012年1月6日金曜日

通話履歴 S(Call History Simple) ver.2.1.1

version 2.1.1
 フリック操作でのタブ切替をした場合の画面移行にアニメーションを追加。
 アイテムクリック・ロングクリック時のダイアログにキャンセルボタンを追加。
 強制終了していると思われる箇所を対策。(試験運用)