1

電話を公共の場で使用するので、電話の起動時にアプリを起動したいと考えています。コードを入力するよりも、ユーザーが「電話」ソフトウェア (OS) にアクセスすることなく、正しいアクティビティを開始する必要があります。すべての電話ボタンを上書きして、ユーザーがホーム画面に移動しないようにすることは可能ですか?たとえば、そうであれば、どのメソッドが呼び出されますか? ありがとう

4

2 に答える 2

2

アクティビティに次の行を追加することで、戻るボタンのデフォルトの動作をオーバーライドできます。

@Override
public void onBackPressed() {
    // do nothing
}

(デフォルトの動作はfinish()、現在のアクティビティを呼び出すことです。上記を実行すると、この呼び出しが削除されfinish()ます)。

ホーム ボタンのオーバーライドはもう少し複雑です。次の質問を見てください。

アプリケーションで「ホーム」ボタンをオーバーライドできますか?

Android オーバーライドホームキー

于 2012-03-02T13:28:03.267 に答える
1

Android API ドキュメントでも、多くのことがわかります。

http://developer.android.com/reference/android/app/Activity.html

アクティビティのライフサイクルのすべての部分を確実にカバーし、望ましくない動作 (ボタンの押下など) を引き起こすメソッドをオーバーライドする必要があります。

また、Android OS によってスローされたインテントを確認することも賢明です。

http://developer.android.com/reference/android/content/Intent.html

このようにして、予期しないイベントをキャッチできます。使用しているプラ​​ットフォームを知っていることも役立ちます。一部の製造元は、特定の API (製造元の Web サイトからダウンロードできます) とハードウェア ボタンを提供する電話を持っています。ロックされたシステムを作成しようとしている場合は、これも考慮する必要があります。

于 2012-03-02T13:46:01.417 に答える