問題タブ [android-screen-pinning]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
android - Android キオスク モード - ユーザーが「無許可」でアプリケーションの固定を解除できないようにする
私はAndroidにはかなり慣れていません。現在、KioskModeで実行する必要があるAndroidアプリを開発しているため、通常のユーザーはアプリケーションを終了したり、アプリケーション以外で何かをしたりできません。
私がすでにしたこと:
- アプリをデバイス所有者として設定しました
- デバイス所有者として、MainActivity の onCreate() メソッドでアプリを「スクリーン ピン留め」します。
- MainActivity にボタンがあり、後で管理者がパスワードを入力して終了できるようにします。stopLockTask() を呼び出します
私が今遭遇した問題は、アプリを実行するタブレットに単純に非アクティブ化できないハードウェアボタンがあるため、ユーザーは「戻る」ボタンと「マルチタスク」ボタンを同時に長押しするだけで画面固定を終了できることです。(少なくとも、デバイスをルート化せずにこれを行う方法はわかりません)
では、画面の固定を終了するためにこのボタンの組み合わせを無効にする方法、または適切な回避策はありますか?私が考えた 1 つのアプローチは、onLockTaskModeExiting() の AdminReceiver クラスでアプリケーションを再ピン留めすることでしたが、これを行う方法にまだ行き詰まっています。
MainActivityと AdminReceiver クラスのコード スニペットを次に示します。
}
MainActivity.java
どんな助けでも大歓迎です。ありがとう!
android - 画面固定時のステータスバーの色変更
画面が固定されていない場合、次のコードを使用してステータスバーの色を変更できます。
startLockTask()で画面を固定した後に同じことを試したところ、ステータスバーの色が変更されませんでした。直し方?
android - 画面のピン留めが信頼できない: 起動時にパスコードを要求されることがあり、ピン留めされたアプリに直接スキップすることもあります
(この質問はもともと、わずかに変更された形式でAndroid 愛好家のスタブに投稿されたものです)
私が作成している調査アプリのキオスク モードで Android タブレットをロックしようとしています。そのために、私は(パスコードを有効にして) Screen Pinning lollipop 機能を利用しました。次のコードを使用しました
ほとんどの場合、これは「確実に」機能しました。 - アプリケーションが固定されていて、ユーザーがデバイスの画面をタイムアウトさせた場合 (または電源/ロック ボタンを押した場合)、デバイスはスリープ状態になり、次にデバイスを起動しようとすると、 (電源/ロックボタンを介して)固定されたアプリが再び表示されます(ユーザーが明らかに知らないパスコードを入力する必要はありません)。- 一方、ユーザーが固定を解除しようとすると、ロック画面とパスコードが表示されます。ここまでは順調ですね。
ただし、ユーザーがピン留めされたアプリに直接移動するのではなく、デバイスを目覚めさせようとすると、ロック画面が表示され、ユーザーにパスコードを要求することがあります。
動作に一貫性がない理由がわかりません (つまり、ウェイク時にパスコードを要求することもあれば、ピン留めされたアプリに直接移動することもあります)、そのような動作のどこにも言及が見つかりませんでした。どんな入力でも大歓迎です!
ありがとう!
android - デバイス所有者としての安全な画面固定
アプリに安全なキオスク モードを実装したいと考えています。そのため Android 5.1 以降、画面固定が使用できるようになりました。しかし、画面の固定を開始するたびに、望ましくないダイアログが表示され、戻るボタンと概要ボタンを押し続けることで、このキオスク モードを終了することができます。
したがって、アプリをデバイス所有者として使用しても、これらの動作を停止できないことがわかりました。
今私の質問は次のとおりです。
このデバイス所有者またはデバイス管理アプリとは正確には何ですか。どうすれば理解できますか?どなたか簡単な言葉で説明していただけると助かります。
そして2番目の質問:
これを有効にして、アプリをデバイス所有者として機能させるにはどうすればよいですか?
android - 「画面固定」アクティビティから別のアクティビティを起動する
http://florent-dupont.blogspot.ro/2015/02/android-5-screen-pinning.html
固定されたアプリから、セカンダリ アプリを起動することはできません。ただし、これが同じ共有ユーザー ID を持っている場合を除きます (つまり、AndroidManifest.xml で設定された sharedUserIdis と、その 2 番目のアプリケーションが同じ証明書でパッケージ化されていることを意味します)。他のアプリのアクティビティは開始できず、(Context.startActivity() を使用して) 開始することは単に無視されます。
上記の2つのことだけを行いましたstartActivity()
が、まだ無視されています。
https://developer.android.com/reference/android/R.attr.html#lockTaskModeから:
このアクティビティをルートとする新しいタスクが起動されたときにシステムがすでに lockTask モードになっている場合、このアクティビティのパッケージがホワイトリストに登録されているかどうかに応じて、そのタスクが開始されるかどうかが決まります。
これが機能するために必要な手順を実行したようです。
これを機能させた人はいますか?