5

私の質問は次のとおりです。ユーザーがアプリケーションを閉じるのを防ぐことができるかどうか。

問題は、アクションバーを非表示にできず、勤務時間の登録のみにタブレットを使用しているためです。したがって、誰かがホームボタンまたは戻るボタンを押した場合、それは受け入れられません。

だから私はどうにかしてoncloseイベントを処理できるのだろうか?

アプリケーションをフルスクリーン (アクション バーなし) で開くことはできますか?

4

5 に答える 5

4

ユーザーがホームボタンを押した場合、ユーザーがアプリケーションを閉じるのを防ぐことはできません。それが全体の考え方です。そうしないと、終了せずにデバイスを再起動する手段がなく、ユーザーがアプリに閉じ込められたままになる可能性があります。

于 2012-08-01T12:03:25.357 に答える
4

短い答えはノーです。

長い答えは、ユーザーがアプリを閉じるのを非常に困難にすることができるということです。使用できるトリックのいくつかは次のとおりです。アプリを閉じたらすぐに再度開く、戻るや電源などのキーを無効にする、最後にホームボタンを無効にする

于 2012-08-25T02:55:31.933 に答える
3

ユーザーはいつでもアプリケーションを閉じることができます。そうしないと、アプリケーションを悪用して問題を引き起こすプログラムが存在することになりますが、閉じられたアプリケーションをより適切に処理するための手順があります。

たとえば、アプリケーションが実行されているかどうかを確認できるリモート サービスが実行されていて、さまざまな方法で確認できる場合、アプリケーションを再起動する意図が発生する可能性があります。

プログラムが生きているかどうかを知る 1 つの方法は、定期的にサービスを呼び出し、基本的にはハートビート チェックを実行することです。一定期間呼び出されていない場合は、予想されるチェックよりも 2 倍または 3 倍大きくなるはずです。 -期間内に、インテントを発射します。

ホームボタンが押されたことを検出した場合は、他の手順が機能する可能性がありますが、それらの手順について考える必要があります。ただし、プログラムに誰かを閉じ込めるのは本当に悪いので、それはあなたの期待次第だと思います。

于 2012-08-01T12:05:37.180 に答える
2

だからここに私の解決策があります...

まず、SureLock アプリケーションの試用版をインストールします。次に、そのアプリでアクションバーを無効にします。以上です。

アクションバーをもう一度表示したい場合はHideBarアプリが必要です

これらはすべて、ルート化されたデバイスでのみ機能します...

于 2012-08-02T13:09:41.000 に答える
2

これを試して...

//Remove title bar

this.requestWindowFeature(Window.FEATURE_NO_TITLE);


//Remove notification bar

this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);

参照->既存のカスタム テーマを使用して XML のアクティビティのタイトル バーを非表示にする方法

ユーザーを防ぐために.......

@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
    if(keyCode==KeyEvent.KEYCODE_BACK || keyCode==KeyEvent.KEYCODE_HOME){
                    // pass some msg ......
        return true;
    }
    return super.onKeyDown(keyCode, event);
}
于 2012-08-01T12:06:30.173 に答える