web-dev-qa-db-ja.com

Androidロック画面ウィジェット

数人のユーザーが、アプリのロック画面ウィジェットをAndroidと尋ねてきました。ロック画面にとどまり、アプリと対話できるウィジェットが必要だと思います。

これに関する公式のドキュメントを見つけることができませんでした-私が見つけた唯一のことは、ホーム画面のウィジェットを取り、あなたのためにそれらをロック画面に置くアプリでした。

真のロック画面ウィジェットの構築について私が学ぶ場所についての手がかりはありますか?

72
psychotik

ロック画面の操作は困難です。 Androidは、2つのウィンドウフラグ(FLAG_SHOW_WHEN_LOCKEDとFLAG_DISMISS_KEYGUARD)を使用した基本操作を許可します。 、別の非FLAG_SHOW_WHEN_LOCKEDウィンドウに切り替えることはできません)。

音楽の再生中など、一時的なことだけをしている場合は、おそらく大丈夫でしょう。カスタムロック画面を作成しようとしている場合、すべての異なるAndroid=プラットフォームで多くの異常な相互作用があります。電話")。

getWindow().addFlags(WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED);
getWindow().addFlags(WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD);

http://developer.Android.com/reference/Android/view/WindowManager.LayoutParams.html

FLAG_SHOW_WHEN_LOCKED

ウィンドウフラグ:画面がロックされているときにウィンドウが表示されるようにする特別なフラグ。

FLAG_DISMISS_KEYGUARD

ウィンドウフラグ:ウィンドウを設定すると、キーロックが安全なロックキーガードでない場合にのみ、キーガードが解除されます。このようなキーガードはセキュリティには必要ないため、ユーザーが別のウィンドウに移動しても再表示されることはありません(FLAG_SHOW_WHEN_LOCKEDとは対照的です。それらを非表示にしない別のUI)。キーガードが現在アクティブで安全な場合(ロック解除パターンが必要)、FLAG_SHOW_WHEN_LOCKEDも設定されていない限り、ユーザーはこのウィンドウを表示する前に確認する必要があります。定数値:4194304(0x00400000)

54
Kevin TeslaCoil

ロック画面ウィジェットの公式ドキュメントは こちら

28
Bao Le

プロジェクトにロック画面ウィジェットを実装する必要がありました。その過程で、いくつかのリソースを蓄積しました。

  1. ロック画面に配置するアプリがある場合は、最初にアプリをappwidgetにします。これを行うには、AppWidgetクラスを使用できます。
  2. 次に、Android APIから)のAppWidgetHostクラスを使用して、ロック画面をホストにしますこの部分の実行方法はわかりませんが、mylockandroid(以下のリンク)のような既存の実装がいくつかあります。

資源

http://code.google.com/p/mylockforandroid/ (NBこのコードは、Androidの古いバージョン用です。Android 4.2以降には、ロック画面ウィジェットが組み込まれていますサポート)

http://mylockandroid.blogspot.com/2010/03/widget-lockscreen-beta-11-r2.html

10
mauryat