广播通知操作

来源:互联网 发布:销售票据打印软件 编辑:程序博客网 时间:2024/06/05 15:03

动态注册广播并发出通知

package com.example.month_demo1;import android.content.BroadcastReceiver;import android.content.Context;import android.content.Intent;import android.content.IntentFilter;import android.net.ConnectivityManager;import android.os.Handler;import android.os.Message;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;public class BrocastActivity extends AppCompatActivity {    BroadcastReceiver receiver = new BroadcastReceiver() {        @Override        public void onReceive(Context context, Intent intent) {            //网络判断            NetWorkUtils netWorkUtils = new NetWorkUtils();            boolean workAvalible = netWorkUtils.getNetWorkAvalible(BrocastActivity.this);            if (!workAvalible) {                netWorkUtils.showDialog(BrocastActivity.this);            } else {                startActivity(new Intent(BrocastActivity.this, AnimActivity.class));                finish();            }        }    };    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_brocast);        //动态注册广播        IntentFilter filter = new IntentFilter();        filter.addAction(ConnectivityManager.CONNECTIVITY_ACTION);        registerReceiver(receiver, filter);    }    @Override    protected void onDestroy() {        super.onDestroy();        //取消广播        unregisterReceiver(receiver);    }}

网络判断类

package com.example.month_demo1;import android.content.Context;import android.content.DialogInterface;import android.content.Intent;import android.net.ConnectivityManager;import android.net.NetworkInfo;import android.preference.DialogPreference;import android.provider.Settings;import android.support.v7.app.AlertDialog;/** * 作者:王志伟 * 时间:2017/8/18 * 简介: */public class NetWorkUtils {    public boolean getNetWorkAvalible(Context context) {        ConnectivityManager manager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);        NetworkInfo info = manager.getActiveNetworkInfo();        if (info != null && info.isAvailable()) {            return true;        } else {            return false;        }    }    public void showDialog(final Context context) {        AlertDialog.Builder builder = new AlertDialog.Builder(context);        builder.setMessage("当前网络不可用,请设置网络!");        builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {            @Override            public void onClick(DialogInterface dialogInterface, int i) {                //跳转到设置网络界面                Intent intent = new Intent(Settings.ACTION_WIRELESS_SETTINGS);                context.startActivity(intent);                dialogInterface.dismiss();            }        });        builder.setNegativeButton("取消", null);        builder.show();    }}

开机广播
AndroidManifest.xml中添加权限

<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>

Application中添加

<receiver android:name=".MyReceiver">    <intent-filter>        <action android:name="android.intent.action.BOOT_COMPLETED"/>    </intent-filter></receiver>

创建广播接受者类

        ntent intent1 = new Intent(context,MainActivity.class);        //让Activity启动模式为栈顶启动        intent1.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);        context.startActivity(intent1);

这就是广播的简单使用,有没有感觉很简单,欢迎留言啊,希望顶一下!!!

原创粉丝点击