私の目標:中にユーザーの操作を強制するonStop
。
例:を開始しintent
、Activity
ユーザーがhome
ボタンを押すかonStop
呼び出されたときに起動します。
これは良い方法ではないことは承知していますが、ユーザーがボタンでアプリを離れようとした場合は、ユーザーの操作を強制する必要がありhome
ます。
この目標を達成する方法について他にアイデアがある場合は、お知らせください。
ありがとう
私の目標:中にユーザーの操作を強制するonStop
。
例:を開始しintent
、Activity
ユーザーがhome
ボタンを押すかonStop
呼び出されたときに起動します。
これは良い方法ではないことは承知していますが、ユーザーがボタンでアプリを離れようとした場合は、ユーザーの操作を強制する必要がありhome
ます。
この目標を達成する方法について他にアイデアがある場合は、お知らせください。
ありがとう
これを確実に行うことはできません (マルウェアのような動作であるため)。ユーザーはいつでも最近のアプリ メニューからアプリを強制終了できます。
アプリをランチャーにすることもできます。ユーザーがそれを我慢して、ホームに着くたびにアプリが起動されるようにすることはできますが、誰かがアプリを離れるのを (確実に) 防ぐ方法はありません。Service
s の起動am start
(root が必要な場合とそうでない場合があります)を含め、多くのハッキングが可能ですが、これも完全に回避可能です。
ユーザーがあなたを十分に信頼している場合 (そのように聞こえれば、選択の余地はありません)、SYSTEM_ALERT_DIALOG
許可を要求できます。これにより、ウィンドウを他のアプリケーションの上に配置できます。したがって、パズルのピースは次のようになります -
onStart
/onStop
メソッドが呼び出されたときにサービスに通知するアクティビティ。が呼び出されたときonStop
にタイマーを開始し (たとえばpostDelayed
、ハンドラーで使用して)、onStart
が呼び出されたときにタイマーをキャンセルします。onStop
、アプリにとどまらずに取得したことを意味します。次に、適切なフラグを持つウィンドウを表示できます (この部分は、WindowManager
直接対話する必要があるため、少し低レベルです。 のソース コードDialog
はここの良い例です)。ユーザーが現在表示しています。または、ダイアログの重要性に応じて、ダイアログを押すと、ダイアログでアクティビティを起動する通知として表示することを検討してください。もちろん、ユーザーが通知を却下するリスクがあります (ただし、それを回避するために通知を継続することはできます)。