zoukankan      html  css  js  c++  java
  • Android中的BroadCast静态注册与动态注册

    1.静态注册

    新建MyBroadcast类继承BroadcastReceiver,实现onReceive方法

    /**
     * Author:JsonLu
     * DateTime:2015/9/21 16:44
     * Email:luxd@sumpay.com
     * Desc:
     **/
    public class MyBroadcast extends BroadcastReceiver {
        @Override
        public void onReceive(Context context, Intent intent) {
            String action = intent.getAction();
            if (MyTest.ACTION1.equals(action)) {
                T.showShort(context, String.valueOf(System.currentTimeMillis()));
            } else if (MyTest.ACTION2.equals(action)) {
                Date date = new Date();
                DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
                T.showShort(context, dateFormat.format(date));
            } else {
                T.showShort(context, "其他广播");
            }
        }
    }

    在AndroidManifest文件中注册

           <receiver android:name=".broadcast.MyBroadcast">
                <intent-filter>
                    <action android:name="android.intent.action.my_broadcast" />
                </intent-filter>
            </receiver>

    发送广播

        public static final String ACTION1 = "android.intent.action.my_broadcast";
        public static final String ACTION2 = "android.intent.action.my_broadcast1";
                /**
                 * 静态注册广播
                 * 需要在AndroidManifest文件中进行注册
                 *
                 */
                case R.id.staticsendbrocast:
                    Intent intent1 = new Intent();
                    intent1.setAction(ACTION1);
                    sendBroadcast(intent1);
                    break;

    2.动态注册

                /**
                 * 动态注册广播
                 * 不需要在AndroidManifest文件中注册
                 */
                case R.id.sendbrocast:
                    Intent intent = new Intent();
                    IntentFilter intentFilter = new IntentFilter();
                    intentFilter.addAction(ACTION2);
                    registerReceiver(new MyBroadcast(), intentFilter);
                    intent.setAction(ACTION2);
                    sendBroadcast(intent);
                    break;
  • 相关阅读:
    C++各大有名库的介绍——C++标准库
    转换中文数字成为阿拉伯数字
    nutch 写一个indexingfilter插件
    nutch从网页中提取字段并索引_HtmlParseFilter
    java csv操作类
    简单的有限状态机
    getResource()和getResourceAsStream的路径问题
    eclipse修改整个工作空间的编码
    批处理启动tomcat
    java linq
  • 原文地址:https://www.cnblogs.com/Jsonlu/p/4826907.html
Copyright © 2011-2022 走看看