2015/03/09

[Android] Android5.0(Lolipop)でサービスが起動できない問題の対処法

サービスの起動が、Android 4.4では動いてたのにAndroid 5.0では動かなくて、検索したがなかなか見つからず、検索ワードを色々試してやっと見つけたので覚書。

Android 5.0 で LVL が正常動作しない問題の対処 - Qiita
http://qiita.com/tmurakam99/items/8eb98c7eb572aa46dd76

Android 5.0から明示的Intentを使用しないとエラーを返すように仕様が変更された、らしい。

つまり、bindServiceでbindするサービスを指定したIntentにsetPackage()でパッケージ名を明示ておかなければbindに失敗する。

intent.setPackage("com.hoge.fugaService");
bindService(intent, serviceConnection, BIND_AUTO_CREATE);

タイトルだけ見てもサービスに関することだと分からんっていう…ʅ( ´Д`)ʃ

2015/03/03

[Android] AIDLを含むユーザーライブラリの作成方法

AIDLを含むプロジェクトのユーザーライブラリ化にかなり右往左往したので覚書。

結論から言えば、単純にソースファイルのjavaファイルと一緒に、AIDLによって自動生成されたgenフォルダ内のjavaファイルを含めて、JARファイルとしてエクスポートすれば良いだけ。

…一度やろうとしてできなかったような気がするが、今実行すると普通に動いた。

♪L( ^ω^ )┘└( ^ω^ )」♪

2015/03/02

[Android] getSystemServiceでNullPointerExceptionになる

基本中の基本なんだろうけど、久々に書いてて気付くまで半日使ってしまったので覚書。

現象:
getSystemServiceでNullPointerExceptionになる。

解決方法:
ServiceまたはActivityのonCreate(super.onCreate)以降でgetSystemsServiceを行う。