2012-10-11 152 views
0

我正在构建一段代码,用于模拟电话接收活动蓝牙连接时的活动。这是作为一项服务运行,因此它可以在当下被采用。Android:蓝牙活动启动

这是我正在使用的代码。目前它没有启动意图,但也没有失败。我如何才能正确运行?

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); 
     } 
    } 
}; 
} 

回答

2

您需要注册您已使用

registerReceiever(ConnectListener, intentFilter); 

在你的情况下,意图过滤器将是蓝牙connnect过滤器的接收器,像

IntentFilter intentFilter = new IntentFilter(BluetoothDevice.ACTION_ACL_CONNECTED); 

东西对于一个更完整的例子看看这个其他post

+0

甜,刚才它给了我一个问题,我可以由于我的手机没有连接到我的电脑,因此我需要logcat。感谢您的提示,但! – CodeMonkeyAlx