【W.I.P】ウィジェットの実装とキーガード上のウィジェット動作について・その2
おはようございます。
最近朝食が卵かけご飯固定になりつつあります。白鳥です。
個人的にはしょうゆよりめんつゆ使う派。
おだしが聞いててんまいのよ、これが。
そういえば説明してませんでしたが、W.I.P.って付けてるエントリーは調査段階のやつです。
多分最後にまとめ記事書くんじゃないかな、多分。
で、昨日のエントリーで睨んだ
「どうにもappWidgetHostでなんかしてるっぽい。っぽい。」
という説で調査を再開。
とりあえずGoogle先生に「keyguard appwidgethost」でお尋ねしてみたところ、
こんなページが見つかりました。
で、ソースを斜め読みしたところ、L.453あたりにOnClickHandlerの記述が。
多分これじゃないかなー、とか思うものの、出勤時間になったのでこれまで
そもそもこれがKKに入ってるソースなのかも確信持ててなかったり。
うーむ、AOSPでソース見れなかったっけか?
とりあえずソースが入っていることだけ確認したかったのでOpenGrokで上記ソースを検索
cf.androidソース検索サービス
4.4.4で検索したところ、がっつり入っているところは確認。
さて、とりあえず仕事に行かねば
【W.I.P.】ウィジェットの実装とキーガード上のウィジェット動作について
気がつけば1月ももう終盤ですよ
つまりブログの更新放置して半月以上経ってるってこった!
いやぁ!参ったね!どうも、白鳥です。
相変わらず参入中のプロジェクトはそれはそれはアレな感じなのですが
まあ、これもね、ブログの記事になりそうではあるので前向きに捉えましょうか
以前【キーガード上にアクティビティを表示させる方法】の記事を書いたときにご相談いただいたんですが
「キーガード上に配置したウィジェットから、該当のアクティビティを呼び出そうとするとパスコードの入力を求められる」、と。
で、ちょうどよかったのでウィジェットの実装方法を調べながら作ってみました。
その画像がこちら
[編集中! ホーム画面上の試作ウィジェット]
[編集中! キーガード上の試作ウィジェット]
リニアレイアウト(LinearLayout)とライナーレイアウト(LinerLayout)に誤字って詰まったのはここだけの秘密
aが入ってないやん!
作るにあたって色々調べたんですが、ウィジェットって色々特殊なのね
レイアウトに使えるものは限定されてるし、アクティビティと違って更新頻度も下がるし、そもそもappWidgetHostに紐付けられてるビューだから独立した存在ってわけでもない、と
正直調べてる段階で「appWidgetHostに紐付けられてるビューだから独立した存在ってわけでもない」ってのが既にひっかかってたり。
これキーガード上に設置してる時点でキーガードに動作握られてるんじゃないの?(未確認)
ちなみにご相談いただいた動作はしっかり確認できました。
ウィジェットの動作の主体について調べれば判るかなー
ログ仕込んでインテント投げる前にキーガードが入ってるの出してもいいけども
とりあえず仕事いかな・・・