2014年3月6日木曜日

Android Service is unbinded and destroyed when bind Activity is finished by back key.

サービスをバインドしたActivityをBack keyで非表示(終了)にするとService#onUnbind()とService#onDestroy()の両方のメソッドが実行されてしまい、サービスが停止してしまう。
(Home keyで非表示にすると両方とも実行されない)

service bind Activity: hide by Home key ---> no problem
---> Service is running

service bind Activity: finish by Back key
---> run Service#onUnbind() and  Service#onDestroy()
---> Service will be terminated.


    
       ↓   (solution)



以下の方法で解決できました。

1. startService()
2. bindService()
3. service bind Activity: finish by Back key
---> run Service#onUnbind(), not run Service#onDestroy()
---> Service is running

4. unbindService()
5. stopService()
---> Service will be terminated


上記のようにstartService()とbindService()を実行して、Back keyでバインドしたActivityを終了するとService#onUnbind()だけが実行され、Service#onDestroy() は実行されなくなり、サービスは停止しなくなる。(1, 2, 3)

サービスを終了するには、unbindService(), stopService()の両方を実行する。(4, 5)



※本当はBack keyでバインドしたActivityを終了しても、Service#onUnbind()とService#onDestroy()が実行されるのを回避する方法が他にあれば良いのですが........。






2013年4月13日土曜日

Kazuki.g.Yamamoto'S Privacy Policy

Privacy Policy


1. The personal information I collect is only used to contact.
2. I manage your personal information safe and accurate.
3. I will not provide your personal information to third parties.









2013年2月10日日曜日

Android OS Album Art Database の更新方法について

Androidの音楽ファイルのアルバム・アート・データベースの更新方法について、自分で試してみてある程度分かってきたので紹介したいと思います。


※以下の手順は正式な方法ではないと思います。最悪の場合データベースが元に戻らない可能性があります。試行する場合は自己責任でお願いします。
SAMSUNG Galaxy Nexus (SC-04D/Android version 4.0.4)で行っていますが、他の機種で同じ手順が通用するのかは分かりません。


①音楽ファイルがあるディレクトリ(フォルダ)毎に、アルバム・アートにしたい画像ファイルを1つだけ保存する。
※jpeg, jpg, gif, png, bmp, webp。ファイル名は何でもよい?

②ファイル管理アプリで以下のディレクトリ(フォルダ)にある画像ファイル(Thumbnail)を全て削除する。
/sdcard/Android/data/com.android.providers/albumthumbs/
※ファイル名はid番号になっています。ファイル形式はJPEG。

③Google Play ミュージックのデータを以下の方法で削除する。

※( 注意 )Google Play ミューシック・アプリでプレイ・リストを作成したり、設定を変更したりしている場合、そのデータは消去されます。

設定 -> アプリ -> すべて -> Google Play Music

-> キャッシュを消去
-> データを消去
-> 強制停止

④端末の電源をオフにして、端末をシャット・ダウンする。

⑤端末の電源をオンにして、端末を起動する。

⑥Google Play ミュージックを起動する。

しばらく待っていると、Google Play ミュージックのアルバム・アートの表示箇所にデータベースに登録されたサムネイルの画像が表示される。

※アルバム・アートが表示されていない箇所は、ディレクトリ(フォルダ)に元画像が無くて、サムネイルの作成に失敗したか、データベースへの登録が失敗しているかしていると思われます。


※/sdcard/Android/data/com.android.providers/albumthumbs/にある画像を、ファイル名はそのままで、別の画像に差し替える方法もあります。