0

電話がアクティブなBluetooth接続を受信したときのアクティビティを模倣するコードを作成しています。これはサービスとして実行されるため、すぐに利用できます。

これが私が使っているコードです。現在、インテントを起動していませんが、失敗していません。これを正しく実行するにはどうすればよいですか?

import android.app.Service;
import android.bluetooth.BluetoothDevice;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.os.IBinder;

public class detectService extends Service{

@Override
public IBinder onBind(Intent intent) {
    // TODO Auto-generated method stub
    return null;
}

private BroadcastReceiver ConnectListener = new BroadcastReceiver() {
    @Override
    public void onReceive(Context context, Intent intent) 
    {
        String action = intent.getAction();
        if (BluetoothDevice.ACTION_ACL_CONNECTED.equals(action)) 
        {
                intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE);
            //Start Second Activity
                Intent secondIntent = new Intent(detectService.this, otherClass.class);
                intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
                startActivity(secondIntent);
        }
     }
};
}
4

1 に答える 1

2

を使用して作成したレシーバーを登録する必要があります

registerReceiever(ConnectListener, intentFilter);

あなたの場合のインテントフィルターは、次のようなBluetooth接続フィルターになります。

IntentFilter intentFilter = new IntentFilter(BluetoothDevice.ACTION_ACL_CONNECTED);

より完全な例については、この他の投稿をご覧ください

于 2012-10-11T20:33:32.970 に答える