3

ペアリングされたBluetooth接続を次のように監視するアプリを作成したいと思います。

ファイルがペアのソースからのものである場合は、保存する必要があります。ファイルが渡されず、Bluetooth接続が切断された場合、私のアプリはダミーファイルを保存します。

ファイルの保存はうまく機能します。私の主な問題は、ディスプレイにアクティビティを表示せずに、このすべてを実行する方法です。

私はサービスについてよく読んでいますが、ほとんどの場合、サービスはアクティビティ/アプリに依存していると言われています...そうですか?

そのようなことを実現する他の可能性はありますか?放送受信機はどうですか?この機能をプログラムするにはどうすればよいですか?

私はあなたの(創造的な)答えを読むのを楽しみにしています;-)素敵な挨拶、poeschlorn

4

1 に答える 1

4

BroadcastReceiverご想像のとおり、これはaと。を使用して行うことができますService。「Bluetooth切断」イベントを処理するようにブロードキャストレシーバーをセットアップしてから、サービスを起動して何かを実行します。

マニフェストで、受信者を宣言します。

<receiver android:name=".YourReceiver">
    <intent-filter>
        <action android:name="android.bluetooth.device.action.ACL_DISCONNECTED"/>
    </intent-filter>
</receiver>

あなたのBroadcastReceiver中で、あなたはこのようなことをするでしょう:

@Override
public void onReceive(Context context, Intent intent) {

    if (intent.getAction().equals(BluetoothDevice.ACTION_ACL_DISCONNECTED)) {
        context.startService(new Intent(context, YourService.class));
    }
}

そしてService、ダミーファイルの作成を処理します。

@Override
public void onCreate() {
    // Create the dummy file, etc...
}

また、切断されているデバイスを確認するなどの操作も必要になりますが、これで開始できます。また、Bluetoothスタックを使用したことはありませんが、これが適切なアクション名だと思います。

于 2010-05-25T14:06:46.857 に答える