Android2.3(GB)で端末起動時にサービスを開始させる方法で4.0(ICS)では動かない

miruker apps内のアプリの中でGカレンダー通知のみ
端末起動時にアラームサービスを起動しているのですが、
ICSで起動時にサービスが動いていないということに気づきました。

マニフェストで

<receiver android:name=".Reciever" ><android:permission="android.permission.RECEIVE_BOOT_COMPLETED">
<intent-filter>
	<action android:name="android.intent.action.BOOT_COMPLETED"/>
	<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</receiver>
こんな感じでintentを受け取ると端末起動時に処理をすることができます。
(注:ただしこれの場合はSDカードなどにアプリを移動している場合は受け取れません。
 (intent発行よりSDカードがマウントされるのが後だからだと思われます)

でGBでは動いていたんですけど、ICSで動いていなく調べたら、こちらのパーミッションがいる模様。

<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
これの追加でなんなく動きました

Androidアプリでmonkeyテストをする方法

どうやらこれでできるようようです。
adb shell monkey -p [packagename] -v [実行する回数]

やる前にデータはきちんとバックアップとってからするかテスト機でしないと
大変なことになりますよー。



Quick電話帳/Ver4.5.0を公開しました

Ver4.5.0
・連絡先リストの表示パターンを選択できるようにしました
・Android4.0移行の端末でプロフィールの読み込みができるよう権限を追加しました
・ダイヤラのT9入力処理において姓名でHITするよう処理を変更しました
・検索バーの位置を操作しやすいようページ下部に移動させました
・仮名の姓が50音に変換できない場合名を仮名として利用するようにしました
・リストスクロール時のパフォーマンスを改善しました

https://play.google.com/store/apps/details?id=com.miruker.qcontact

Quick電話帳/Ver4.4.0を公開しました

Ver4.4.0
・ウィジェットにgoogle+アイテムを追加しました
・スクロール処理中に頭文字を表示するよう機能追加しました
・その他細かいバグ修正を行いました

SPモードメールバックアップ/Ver3.3.2を公開しました

内部のログを詳細にとるようにログライブラリを更新しました

XPERIA GXを触って思う事

今まで開発端末としてはXPERIA arcのdocomo ROMとグローバルROMの2種類を使って
開発を行ってきましたが、そろそろ容量も限界という事でまたまたXPERIAシリーズのGXへ機種変更をしました。
うーんやっぱり1年半たつとそれなりに速度が速くなるもんですね。
いつもやってるゲームが速くサクサク動くことにびっくりしました^^
それと同時にdocomoのアプリ(サービスも)増えたなーっていうのが印象です。
Nexus7の空きメモリ容量とGXの空きメモリ容量を見ると一目瞭然なのですが、
約200MBぐらい多くGXは使っている印象です。
まぁそれはさておき、arcからGXへ変えた時の感想を感じたままに書きたいと思います。

よかったこと
 ・もちろんスペックアップで快適
 ・画面が大きくなりました!
 ・ICS入ってます
 ・arcからでもそんなに重くないよ!
 ・Xi案外入ります
 ・エリアWifiが何気に便利!(自宅ではwifi使ってます)

よくなかったこと
 ・NFC入りませんでしたねぇ
 ・電源ボタンの位置が悪く押しにくい(オンスクリーンキーになってスリープからの復帰が電源ボタンとなるのにこの位置は男の私でも押しにくい)
 ・ちょっと持ちにくい(慣れ?)

トータルで見てバランスはいいのかなぁと思います。
あとは今後のOSバージョンアップ等にどれだけSONYというよりDOCOMOがどれだけ柔軟かつ迅速に対応してくるかでまた評価が変わるかと思います。

Quick電話帳/Ver4.3.0を公開しました

・ウィジェットの写真イメージを編集できるようになりました
・Google+の連携機能を強化しハングアウト等に直接Contactできるようになりました
・Skype連携機能を修正しました
・ダイヤラのリスト表示を高速化しました
・キーワード検索の必須を解除しました

メールが届きません

昨晩SPモードメールバックアップアプリについて質問をいただいた@docomo.ne.jpの方へ

メールがドメイン拒否されているのか届きません。
許可して再度お問い合わせください。

ContactsContractのgoogle+データ

Quick電話帳を開発していて、google+との連携を調べていました。

結論からするとgoogle+との連携方法は2つあります。

1つはcom.google.android.apps.plus.phone.UrlGatewayActivityに対して
profileのIDをデータとして渡してあげる方法

intent.setClassName(com.google.android.apps.plus,com.google.android.apps.plus.phone.UrlGatewayActivity);
intent.putExtra(customAppUri, ProfileID);

そしてもう一つの方法が、Contactと同期をとった場合にできる方法ですが、
こちらの場合は上のIDを取得することができません。
さてどうするか。

/** GooglePlusのデータ **/
Cursor cursorGPlus = con.getContentResolver().query(Data.CONTENT_URI,
new String[]{Data._ID,Data.DATA3,Data.DATA4,Data.DATA5},
Data.MIMETYPE +”=? AND ” + Data.CONTACT_ID +”=?” ,
new String[]{GooglePlusData.MIME_TYPE,StringUtility.toString(retData.getContactId())}, null);
if(cursorGPlus != null){
while(cursorGPlus.moveToNext()){
GooglePlusData gpData = new GooglePlusData(“”,cursorGPlus.getString(3), cursorGPlus.getString(1), cursorGPlus.getInt(0));
retData.getGooglePlus().add(gpData);
}
cursorGPlus.close();
}

こんな感じで取得しています。
Data.CONTENT_URIの中に、google+の連絡先データも入っています。
さて、この中でData3に入っているメッセージですが、実はここのデータはハングアウトをかいしーとかのメッセージが入っているのです。
さて、多言語対応という事で言語を変えてみたら、これが変わりません。。。
どのタイミングで言語情報が適用されるか調べてみたところどうやら、データを同期するタイミング(書き込むタイミング)の言語情報で
ここのメッセージを書き込んでいるようです。
ですので、一度、アカウントからgoogle+の同期設定を外し、言語を変更、再度gooogle+の同期を設定することで、言語が変わります。

Quick電話帳/Ver4.2.0を公開しました

Ver4.2.0
・電話機能のない端末でも利用できるよう権限を変更しました
・レイアウトの不具合を修正しました
・Google+へ連携できるようにしました
・明細のレイアウトを変更しました