A. android中的广播怎么使用
广播操作有两种
1、发送广播,就是你自己发送出去一个广播,让别人接收
2、接收广播,这个是自己实现一个广播接收器,接收那些你自己过滤的广播,然后处理
具体的代码实现,可以在网上找找
B. android 广播怎么在两台android间发送
广播名字不要注册一样的名字啊,接收分开接收就行了。
C. Android使用广播监听网络状态变化 一直收到系统广播
因为这个系统广播在不停的发送,系统网络状态在不停的变化。比如关闭,打开,扫描,正在连接,已连接等状态。
D. 什么是android的四大组件
Android四大组件有Activity,Service服务,Content Provider内容提供,BroadcastReceiver广播接收器。
Android应用程序由一些零散的有联系的组件组成,通过一个工程manifest绑定在一起。在manifest中,描述了每一个组件以及组件的作用,其中有6个组件,它们是Android应用程序的基石
(4)android网络共享广播扩展阅读
Activities(活动)
应用程序的显示层。每一个画面对应于你的应用程序,将会是Activity类的扩展。Activity使用Views去构建UI来显示信息和响应用户的行为。就桌面开发而言,一个Activity相当于一张Form。
Services(服务)
Android应用程序中不可见的“工人”。 Service组件运行时不可见,但它负责更新的数据源和可见的Activity,以及触发通知。它们常用来执行一些需要持续运行的处理,当你的 Activity已经不处于激活状态或不可见。
Content(内容)
提供共享的数据存储。Content Provider(内容提供器)用来管理和共享应用程序的数据库。在应用程序间,Content Provider是共享数据的首选方式。
Broadcast Receivers(广播接收器)
Intent广播的“消费者”。通过创建和注册一个Broadcast Receiver,应用程序可以监听符合特定条件的广播的Intent。Broadcast Receiver 会自动的启动你的Android应用程序去响应新来的Intent。Broadcast Receiver是事件驱动程序的理想手段。
参考资料来源:网络-Android组件
E. android wifi正在连接的状态广播
很多时候我们都需要实时监听网络状态,当网络状态发生变化之后立即通知程序进行不同的操作。
监听广播的两种方式:
(1)在AndroidManifest.xml配置文件中声明
<receiver android:name=".NetworkConnectChangedReceiver" >
<intent-filter>
<action android:name="android.net.conn.CONNECTIVITY_CHANGE" />
<action android:name="android.net.wifi.WIFI_STATE_CHANGED" />
<action android:name="android.net.wifi.STATE_CHANGE" />
</intent-filter>
</receiver>1234567
(2)在代码中注册
IntentFilter filter = new IntentFilter(); filter.addAction(WifiManager.WIFI_STATE_CHANGED_ACTION); filter.addAction(WifiManager.NETWORK_STATE_CHANGED_ACTION); filter.addAction(ConnectivityManager.CONNECTIVITY_ACTION);
registerReceiver(new NetworkConnectChangedReceiver(), filter);12345
接下来创建实时监听网络连接与断开状态变化的BroadcastReceiver对象,我们需要继承android.content.BroadcastReceiver,并实现其onReceive方法,下面我们就创建一个名为NetworkConnectChangedReceiver广播接收者,看一下具体的实现代码,由于代码写得很详细,就不一一解释了
package com.per.networkconnectdome;import android.content.BroadcastReceiver;import android.content.Context;import android.content.Intent;import android.net.ConnectivityManager;import android.net.NetworkInfo;import android.net.wifi.WifiManager;import android.os.Parcelable;import android.util.Log;public class NetworkConnectChangedReceiver extends BroadcastReceiver {
private String getConnectionType(int type) {
String connType = ""; if (type == ConnectivityManager.TYPE_MOBILE) {
connType = "3G网络数据";
} else if (type == ConnectivityManager.TYPE_WIFI) {
connType = "WIFI网络";
} return connType;
} @Override
public void onReceive(Context context, Intent intent) { if (WifiManager.WIFI_STATE_CHANGED_ACTION.equals(intent.getAction())) {// 监听wifi的打开与关闭,与wifi的连接无关
int wifiState = intent.getIntExtra(WifiManager.EXTRA_WIFI_STATE, 0);
Log.e("TAG", "wifiState:" + wifiState); switch (wifiState) { case WifiManager.WIFI_STATE_DISABLED: break; case WifiManager.WIFI_STATE_DISABLING: break;
}
} // 监听wifi的连接状态即是否连上了一个有效无线路由
if (WifiManager.NETWORK_STATE_CHANGED_ACTION.equals(intent.getAction())) {
Parcelable parcelableExtra = intent
.getParcelableExtra(WifiManager.EXTRA_NETWORK_INFO); if (null != parcelableExtra) { // 获取联网状态的NetWorkInfo对象
NetworkInfo networkInfo = (NetworkInfo) parcelableExtra; //获取的State对象则代表着连接成功与否等状态
NetworkInfo.State state = networkInfo.getState(); //判断网络是否已经连接
boolean isConnected = state == NetworkInfo.State.CONNECTED;
Log.e("TAG", "isConnected:" + isConnected); if (isConnected) {
} else {
}
}
} // 监听网络连接,包括wifi和移动数据的打开和关闭,以及连接上可用的连接都会接到监听
if (ConnectivityManager.CONNECTIVITY_ACTION.equals(intent.getAction())) { //获取联网状态的NetworkInfo对象
NetworkInfo info = intent
.getParcelableExtra(ConnectivityManager.EXTRA_NETWORK_INFO); if (info != null) { //如果当前的网络连接成功并且网络连接可用
if (NetworkInfo.State.CONNECTED == info.getState() && info.isAvailable()) { if (info.getType() == ConnectivityManager.TYPE_WIFI
|| info.getType() == ConnectivityManager.TYPE_MOBILE) {
Log.i("TAG", getConnectionType(info.getType()) + "连上");
}
} else {
Log.i("TAG", getConnectionType(info.getType()) + "断开");
}
}
}
}
}
在onReceive方法里面,我们可以获取从广播而来的Intent中的数据,这包含很多有用的信息,其中
ConnectivityManager : 主要管理和网络连接相关的操作
WifiManager: 管理和wifi相关的信息
TelephonyManager: 管理和手机、运营商等的相关信息
NetworkInfo类包含了对wifi和mobile两种网络模式连接的详细描述,通过getState()方法获取的State对象,代表着连接成功与否的状态。
最后记得添加权限:
<uses-permission android:name="android.permission.access_wifi_state" /><uses-permission android:name="android.permission.access_network_state" />
F. android中的广播是什么意思
android的广播概念和我们日常生活中的电台有相通之处,空气中有不同频段,不同电台的广播,而android系统中就有对应的电池的电量,来电,短信还有例如sd卡拔插等等这些广播的消息发出,这些消息就对应着用收音机调频时,不同电台的节目。而我们注册的广播就类似于我收听某个电台的节目,比如一个注册广播收听交通广播,另一个注册的广播收听音乐广播,那么怎么区分是交通广播还是音乐广播呢,这就要通过前一章提到的Intent的action来判断。
G. android 网络状态广播是粘性广播吗
一、Android广播注册两种方式
1
第一种,动态注册,在java代码中调用registerReceiver(BroadcastReceiver receiver,IntentFilter fileter)。动态注册广播又叫:非常驻型广播,应用程序结束了,广播就停止,广播接收者将不会再收到广播信息
2
第二种,静态注册,在AndroidManifest.xml文件中注册。静态注册广播又叫:常驻型广播,广播不会随应用程序的关闭而停止,只要有广播信息,广播接收器都可以接收得到
END
二、注册静态检查网络状态
编写NetStateUtil类,检查网络状态。在NetStateUtil类中,写一个static的方法isNetworkAvailable,方法检查当前手机网络状态,无网络状态返回false,否则返回true,代码如下:
编写广播接收器ConnectionChangeReceiver。ConnectionChangeReceiver类基础BroadcastReceiver,并重写onReceive方法,并在方法中监听当前应用网络情况,无网络提示状态信息,代码如下:
在AndroidManifest.xml注册广播。静态注册和动态注册的区别,学习TeachCourseAndroid广播注册两者方式,在AndroidManifest.xml注册代码如下:
编写MainActivity,在onResume方法中发送广播。在MainActivity中的OnResume方法中发送广播信息,布局界面根据自己情况,稍微写一个简单的就可以,发送广播代码如下
添加权限,在访问网络状态的时候需要添加访问权限,连接网络需要添加,将下面代码复制到AndroidManifest.xml中即可,如下:
H. android wifi能进行udp的局域网广播吗,使用255.255.255.255这个地址~~~~
可以的,可以使用255.255.255.255进行广播
I. 简述在android中如何发送广播消息
1.发送广播
Intent intent = new Intent(BroadcastAction);
Bundle bundle = new Bundle();
bundle.putString("***", SUCCESS);
bundle.putString("FullPathName", mFullPathName);
intent.putExtras(bundle);
sendBroadcast(intent);
2.在Activity中创建一个内部类MyBroadcastReceiver扩展BroadcastReceiver,并在其中实现onReceive方法。
3.在Activity中声明一个MyBroadcastReceiver类型的成员变量,并注册:
private MyBroadcastReceiver myBroadcastReceiver;
...
myBroadcastReceiver = new MyBroadcastReceiver();
IntentFilter filter = new IntentFilter();
filter.addAction(BroadcastAction);
registerReceiver(receiver, filter);
4.使用完后要记得释放
unregisterReceiver(receiver);
注:1和2中的 BroadcastAction要是同一个Action
J. android wifi连接成功后会发送什么广播
1、拿您的手机,点设置。 2、进入设置页面,选择WLAN. 3、进入WLAN页面,选择更多选项。在菜单中选择添加网络。 4、进入添加网络页面,网络ssid就是网络名,当然你要知道你的网络名是什么啦。 5、安全性一般选wpa/apa2psk。 6、接下来就输入密码啦,完成后点保存,这样就可以了,手机是不是可以接上网络了呢