Android学习之Broadcast的简单使用

Android学习之Broadcast的简单使用,第1张

概述本文实例为大家分享了Android学习之Broadcast的使用方法,供大家参考,具体内容如下

本文实例为大家分享了AndroID学习之broadcast的使用方法,供大家参考,具体内容如下

实现开机启动提示网络的广播

package com.example.luobo.broadcasttest;import androID.content.broadcastReceiver;import androID.content.Context;import androID.content.Intent;import androID.content.IntentFilter;import androID.net.ConnectivityManager;import androID.net.NetworkInfo;import androID.support.v7.app.AppCompatActivity;import androID.os.Bundle;import androID.Widget.Toast;public class MainActivity extends AppCompatActivity { private IntentFilter intentFilter; private NetworkChangeReceiver networkChangeReceiver; @OverrIDe protected voID onCreate(Bundle savedInstanceState) {  super.onCreate(savedInstanceState);  setContentVIEw(R.layout.activity_main);  intentFilter = new IntentFilter();//创建一个过滤器实例  intentFilter.addAction("androID.net.conn.CONNECTIVITY_CHANGE");//添加接收CONNECTIVITY_CHANGE消息  networkChangeReceiver = new NetworkChangeReceiver();  registerReceiver(networkChangeReceiver,intentFilter); } @OverrIDe protected voID onDestroy() {  super.onDestroy();  unregisterReceiver(networkChangeReceiver); } class NetworkChangeReceiver extends broadcastReceiver{  @OverrIDe  public voID onReceive(Context context,Intent intent) {   ConnectivityManager connectivityManager = (ConnectivityManager)     getSystemService(Context.CONNECTIVITY_SERVICE);//通过此方法获取ConnectivityManager实例   NetworkInfo networkInfo = connectivityManager.getActiveNetworkInfo();//调用实例connectivityManager的getActiveNetworkInfo()方法获取NetworkInfo实例   if (networkInfo != null && networkInfo.isAvailable()){    Toast.makeText(context,"Network is available",Toast.LENGTH_SHORT).show();   }else {    Toast.makeText(context,"Network is unavailable",Toast.LENGTH_SHORT).show();   }  } }}

创建BootCompleteReceiver类

右击com.example.luobo.broadcasttest,New->Other->broadcast,输入名字BootCompleteReceiver,勾选Enable,Exported,重写onReceive()方法。由于使用的是快捷方式创建的类,所需权限会在AndroIDManifest.xml中自动注册。标签为receiver,但是还不够修改。

package com.example.luobo.broadcasttest;import androID.content.broadcastReceiver;import androID.content.Context;import androID.content.Intent;import androID.Widget.Toast;public class BootCompleteReceiver extends broadcastReceiver { @OverrIDe public voID onReceive(Context context,Intent intent) {  Toast.makeText(context,"Boot Complete",Toast.LENGTH_SHORT).show(); }}

在AndroIDMaifest.xml注册权限

<?xml version="1.0" enCoding="utf-8"?><manifest xmlns:androID="http://schemas.androID.com/apk/res/androID" package="com.example.luobo.broadcasttest"> <uses-permission androID:name="androID.permission.ACCESS_NETWORK_STATE" />//注册接收网络消息广播 <uses-permission androID:name="androID.permission.RECEIVE_BOOT_COMPLETED"/>//注册接收开机启动广播 <application  androID:allowBackup="true"  androID:icon="@mipmap/ic_launcher"  androID:label="@string/app_name"  androID:roundIcon="@mipmap/ic_launcher_round"  androID:supportsRtl="true"  androID:theme="@style/Apptheme">  <activity androID:name=".MainActivity">   <intent-filter>    <action androID:name="androID.intent.action.MAIN" />    <category androID:name="androID.intent.category.LAUNCHER" />   </intent-filter>  </activity>  <receiver   androID:name=".BootCompleteReceiver"   androID:enabled="true"   androID:exported="true">   <intent-filter>    <action androID:name="androID.intent.action.BOOT_COMPLETED"/>//开机时系统会发一条此广播   </intent-filter>  </receiver> </application></manifest>

上述在AndroIDMainfest.xml中注册接收广播消息属于静态注册,在OnCreate()中注册的接收广播属于动态注册。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程小技巧。

总结

以上是内存溢出为你收集整理的Android学习之Broadcast的简单使用全部内容,希望文章能够帮你解决Android学习之Broadcast的简单使用所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1144820.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-31
下一篇2022-05-31

发表评论

登录后才能评论

评论列表(0条)

    保存