当连接某个蓝牙设备时,如何在我的Android手机中启动应用程序?
我试图用广播接收器做这个,但我有一个问题......当我完成活动(退出应用程序)时,广播接收器必须是未注册的...所以没有办法听连接设备......
申请完成后如何让这个广播接收器保持活着状态?
由于
编辑:
public class AutostartReceiver extends BroadcastReceiver
{
/**
* @param context Context
* @param intent Intent
* @return void
*/
@Override
public void onReceive(Context context, Intent intent)
{
String action = intent.getAction();
switch (action)
{
case BluetoothDevice.ACTION_ACL_CONNECTED:
Log.v("PAREK", "cnn");
break;
case BluetoothDevice.ACTION_ACL_DISCONNECTED:
Log.v("PAREK", "dnn");
break;
}
}
}
我也尝试过只是清单初始化
<receiver
android:name=".Model.Tools.AutostartReceiver">
<intent-filter>
<action android:name="android.bluetooth.BluetoothDevice.ACTION_ACL_CONNECTED" />
<action android:name="android.bluetooth.BluetoothDevice.ACTION_ACL_DISCONNECT_REQUESTED" />
<action android:name="android.bluetooth.BluetoothDevice.ACTION_ACL_DISCONNECTED" />
</intent-filter>
</receiver>
EDIT2:
为什么呢?因为我希望我的应用程序只能在汽车中运行...所以当应用程序连接到汽车的免提时,应用程序将启动...并且在断开连接5分钟后,应用程序将是&#34;终止&#34;
答案 0 :(得分:1)
您希望在Service而不是您的活动中注册广播接收器,并在START_STICKY
中返回onStartCommand
以使其在活动后保持运行被杀了。例如:
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
return START_STICKY;
}