0

私はJavaとAndroidの両方の初心者であり、次のアクションを実行する方法を理解しようとしています. ところで、公式の Google Android ドキュメントは初心者向けではないことがわかりました。また、ネイティブではないプログラマーに優しいものへの参照を希望しています。

わかりました、ここに行きます:

電話 (PC または AC) を抜き差しするときに、Bluetooth を自動的にオン/オフにしたいと考えています。

そのため、次のコンポーネントを見つけました。

BatteryManager:ACTION_BATTERY_CHANGEDインテントを使用して、これが変更されたときにブロードキャスト レシーバーをセットアップするのがよいようです。それが正しいか?

BluetoothAdapter も見つけました。その中に enable() メソッドがあります。つまり、「Bluetooth をオンにするための明示的なユーザー操作なしで使用しないでください」ということです。- 電話を差し込むことは明示的なユーザー アクションですか? これは私が使用するのに適していますか?もちろん、disable() についても同じことが言えます。

また、BroadcastReceiverインターネットで見た例は、インテントを起動する方法を示しているだけです。通常は、新しいアクティビティを開きます。ブロードキャスト レシーバーに、Bluetooth のオンとオフを切り替えるメソッドを起動させることができると思いますか? インテントをアクティビティだけでなく、メソッドにすることはできますか?

どんな助けでも大歓迎です!

4

1 に答える 1

0

BatteryManager: ACTION_BATTERY_CHANGED インテントを使用して、これが変更されたときにブロードキャスト レシーバーをセットアップするのがよいようです。それが正しいか?

はい、これは、充電器が接続されたときなどを監視する 1 つの方法です (充電機能を備えた USB ポートへの接続を含む)。も使用できますACTION_POWER_CONNECTED

電話を差し込むことは明示的なユーザー アクションですか?

いいえ - ユーザーの同意を求めるポップアップを作成しない限り、間違いありません。メソッドのドキュメントを引用するにはenable()...

Bluetooth は、ユーザーの直接の同意なしに有効にしないでください。ワイヤレス接続を作成するために Bluetooth をオンにする場合は、 ACTION_REQUEST_ENABLE インテントを使用する必要があります。これにより、 Bluetooth をオンにするユーザーの許可を要求するダイアログが表示されます。enable() メソッドは、「パワー マネージャー」アプリなど、システム設定を変更するためのユーザー インターフェイスを含むアプリケーションに対してのみ提供されます。

デバイスを充電するために接続するとき、10 回中 9 回は充電以外はしたくありません。あなたのアプリを自分の電話にインストールしていて、知らないうちにサイレント モードで Bluetooth が有効になっていることがわかった場合、アプリはすぐにアンインストールされます。

Bluetooth には既知のセキュリティ上の問題があり、ユーザーの設定によっては、誰かのデバイスが知らないうちに有効になっていると、危険にさらされる可能性があります。

インテントをアクティビティだけでなく、メソッドにすることはできますか?

いいえ、Intentメッセージ システムの一部です。インテントとインテント フィルタを参照してください。はい、あまり「初心者向け」ではないことは承知していますが、Android は複雑な獣であり、本当にうまくプログラミングしたい場合は、この種のものを読む必要があります。

于 2012-02-23T21:05:36.850 に答える