2012-03-27 6 views
1

Kannst du mir helfen, herauszufinden, warum die Registrierung von Brodcast Empfänger Null zurückgibt? Dies ist der Code:Registrierung Empfänger zu filtern, die nicht gefunden werden kann

ScoIntent = new IntentFilter(BluetoothHeadset.ACTION_CONNECTION_STATE_CHANGED); 
       sReceiver = new ScoReceiver(context, Tmp); 
       if (context.registerReceiver(sReceiver, ScoIntent) == null) { 
        Log("FBR.GetBlueConnect:Error", "Can not find receiver ACTION_CONNECTION_STATE_CHANGED"); 
        HFS.DisplayText("Can not connect to Bluetooth Headset, Please Exit", true); 
       } 

und dies ist der reciver:

class ScoReceiver extends BroadcastReceiver {  
    public ScoReceiver(Context mcontext, Tools t){ 
    bContext = mcontext; 
    tools = t; 
} 
@Override 
public void onReceive(Context context, Intent arg1) { 
    tools.Log("ScoReceiver:onReceive", "In"); 

    //arg1 = new Intent(AudioManager.ACTION_SCO_AUDIO_STATE_UPDATED); 
    String action = arg1.getAction(); 
    tools.Log("ScoReceiver:onReceive", ">>> Bluetooth SCO state changed !!! "); 
    if(BluetoothHeadset.ACTION_CONNECTION_STATE_CHANGED.equals(action)) { 
     int status = arg1.getIntExtra(BluetoothHeadset.EXTRA_STATE, AudioManager.SCO_AUDIO_STATE_ERROR); 

}

Antwort

0

die javadocs sagen,

Gibt die erste klebrige Absicht gefunden, das Filter oder null, wenn keine sind.

hat dieser Empfänger eine klebrige Absicht? hier ist ein Beitrag, der über den Unterschied spricht zwischen einem Stock und nicht klebrig Absicht,

what is the difference between sendStickyBroadcast and sendBroadcast in Android

+0

Ich habe diesen Java-doc aber auf der ather Hand dieses [link] | (http: // developers.android.com/reference/android/bluetooth/BluetoothHeadset.html) ist über Brodcast Intents nicht klebrig, die in anderen Funktionen erwähnt wurden –

+0

http://developer.android.com/reference/android/bluetooth/BluetoothHeadset.html in dies: ACTION_CONNECTION_STATE_CHANGED –

+0

Ich bin total verwirrt –

Verwandte Themen