2014-11-25 168 views
0

这是最相似的问题,我发现here,但我不能得到它的工作,有人可以帮助我吗?广播没有收到活动

ConectivityChange.java

public static final String MSG_EVENT = "com.example.miguel.broadcast.EVENT"; 

// onCreate... 
Intent intent = new Intent(context, MainActivity.class); 
intent.setAction(MSG_EVENT); 
intent.putExtra("type", "connection"); 
intent.putExtra("connected", networkConn); 
intent.putExtra("network", 1); 
intent.putExtra("name", ssid); 
context.sendBroadcast(intent); 

MainActivity.java

public static final String MSG_EVENT = "com.example.miguel.broadcast.EVENT"; 

public class MyBroadcastReceiver extends BroadcastReceiver { 
    @Override 
    public void onReceive(Context context, Intent intent) { 
     Log.i(TAG, "Message"); 
    } 
} 

MyBroadcastReceiver mReceiver = new MyBroadcastReceiver(); 

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 

    IntentFilter filter = new IntentFilter(); 
    filter.addAction(MSG_EVENT); 
    registerReceiver(mReceiver, filter); 
} 

AndroidManifiest.java

<activity android:name=".MainActivity" android:label="@string/app_name" > 
    <intent-filter> 
     <action android:name="android.intent.action.MAIN" /> 
     <action android:name="com.example.miguel.broadcast.EVENT" /> 
     <category android:name="android.intent.category.LAUNCHER" /> 
    </intent-filter> 
</activity> 

回答

0

它的工作在这条路上:

Intent intent = new Intent(); 
intent.setAction(MSG_EVENT); 
intent.addCategory(Intent.CATEGORY_DEFAULT);