電話を公共の場で使用するので、電話の起動時にアプリを起動したいと考えています。コードを入力するよりも、ユーザーが「電話」ソフトウェア (OS) にアクセスすることなく、正しいアクティビティを開始する必要があります。すべての電話ボタンを上書きして、ユーザーがホーム画面に移動しないようにすることは可能ですか?たとえば、そうであれば、どのメソッドが呼び出されますか? ありがとう
2 に答える
アクティビティに次の行を追加することで、戻るボタンのデフォルトの動作をオーバーライドできます。
@Override
public void onBackPressed() {
// do nothing
}
(デフォルトの動作はfinish()
、現在のアクティビティを呼び出すことです。上記を実行すると、この呼び出しが削除されfinish()
ます)。
ホーム ボタンのオーバーライドはもう少し複雑です。次の質問を見てください。
Android API ドキュメントでも、多くのことがわかります。
http://developer.android.com/reference/android/app/Activity.html
アクティビティのライフサイクルのすべての部分を確実にカバーし、望ましくない動作 (ボタンの押下など) を引き起こすメソッドをオーバーライドする必要があります。
また、Android OS によってスローされたインテントを確認することも賢明です。
http://developer.android.com/reference/android/content/Intent.html
このようにして、予期しないイベントをキャッチできます。使用しているプラットフォームを知っていることも役立ちます。一部の製造元は、特定の API (製造元の Web サイトからダウンロードできます) とハードウェア ボタンを提供する電話を持っています。ロックされたシステムを作成しようとしている場合は、これも考慮する必要があります。