# 安卓广播
发送广播
Intent mIntent = new Intent();
mIntent.setAction("com.custom.gpio174.check");
mIntent.putExtra("flag","1");
wcontext.sendBroadcast(mIntent);
1
2
3
4
2
3
4
接收广播
public void initReceiver() {
IntentFilter intentFilter = new IntentFilter();
intentFilter.addAction("android.intent.action.upgrade");
intentFilter.addAction("android.net.ethernet.ETHERNET_STATE_CHANGED");
intentFilter.addAction("android.net.ethernet.STATE_CHANGE");
intentFilter.addAction("android.net.conn.CONNECTIVITY_CHANGE");
intentFilter.addAction("android.net.wifi.WIFI_STATE_CHANGED");
intentFilter.addAction("android.net.wifi.STATE_CHANGE");
intentFilter.addAction("android.intent.action.SCREEN_ON"); // 亮屏
intentFilter.addAction("android.intent.action.SCREEN_OFF"); // 息屏
intentFilter.addAction("com.joyar.pirin"); // 检测到人来
intentFilter.addAction("com.joyar.pirout"); // 检测到人离开
intentFilter.addAction(WifiManager.NETWORK_STATE_CHANGED_ACTION);
registerReceiver(netReceiver, intentFilter);
}
BroadcastReceiver netReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
Log.v("kkk",""+intent.getAction());
// 检测到人来
if(intent.getAction()=="com.joyar.pirin"){
webView.loadUrl("javascript:joyarPirin()");
return;
}
// 检测到人离开
if(intent.getAction()=="com.joyar.pirout"){
webView.loadUrl("javascript:joyarPirout()");
return;
}
/*检测到息屏了*/
if(intent.getAction()=="android.intent.action.SCREEN_OFF"){
webView.loadUrl("javascript:InterestRatesScreen()");
return;
}
String action = intent.getStringExtra("versions");
ConnectivityManager connectivityManager = (ConnectivityManager) getSystemService(
Context.CONNECTIVITY_SERVICE);
NetworkInfo networkInfo = connectivityManager.getActiveNetworkInfo();
if (networkInfo != null && networkInfo.isAvailable()) {
int type2 = networkInfo.getType();
String typeName = networkInfo.getTypeName();
webView.loadUrl("javascript:netReceiver("+type2+")");
switch (type2) {
case 0://移动 网络 2G 3G 4G 都是一样的 实测 mix2s 联通卡
Log.d("Feeee", "有网络");
break;
case 1: //wifi网络
Log.d("Feeee", "wifi");
break;
case 9: //网线连接
Log.d("Feeee", "有网络");
break;
}
} else {// 无网络
webView.loadUrl("javascript:netReceiver(-1)");
Log.d("Feeee", "无网络");
}
}
};
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65