1. 新建 Broadcaset类(Service类)
2. 在MainActivity.OnCreate中启动
Intent sintent = new Intent(MainActivity.this, Broadcast.class); //如果Broadcast是外部类,这里Broadcast前要加com.example.testjar.Broadcast.class);
sintent.putExtra("alertmode", "0");
startService(sintent);
3. 在AndroidManifest.xml中声明:
<service android:enabled="true" android:name=".Broadcast" android:process=":remote"/>
-->如果不声明,广播service将不能起来
-->如果Broadcast是外部类,这里.Broadcast前要加com.example.testjar.Broadcast.class);
4. 接收
private infoReceiver receiver;
private class infoReceiver extends BroadcastReceiver {
//@Override
public void onReceive(Context context, Intent intent) {
//TODO: for one dev, if not receive this for 10 seconds, then remove it from list
System.out.println("receiver");
Bundle bundle = intent.getExtras();
String str_ip = bundle.getString("data");
}
}
private IntentFilter filter;
public Boolean startRecever(){
System.out.println("startRecever init start");
receiver = new infoReceiver();
filter = new IntentFilter();
filter.addAction("com.example.testjar.001");
registerReceiver(receiver, filter);
System.out.println("startRecever init end");
return false;
}
执行startRecever()函数即可。