我正在构建一段代码,当手机收到有效的蓝牙连接时会模仿某项活动。这是作为一项服务运行,因此可以在当下接收它。
这是我正在使用的代码。现在它没有启动意图,但也没有失败。如何让它正常运行?
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);
}
}
};
}
答案 0 :(得分:2)
您需要使用
注册您创建的接收器registerReceiever(ConnectListener, intentFilter);
你的情况下的意图过滤器将是蓝牙连接过滤器,类似
IntentFilter intentFilter = new IntentFilter(BluetoothDevice.ACTION_ACL_CONNECTED);
有关更完整的示例,请查看此其他post