• broadcast>基础


    1、注册

    2、怎么动作

    3、怎么发送

    4、由啥接收条件

    5、应用例子

    注册:1、动态注册随activity的销毁而销毁2、静态注册(在manifest.xml)中注册,注册到系统中,不会随activity的销毁而销毁

    动作:1.系统给的2、自定义的 “包名”+“.”+"动作描述"

    发送:sendbroadcast(intent)

    接收:由满足动作的activity接收

    应用例子:电量计等

    package com.ct.mytestbroad;
    
    import android.os.Bundle;
    import android.app.Activity;
    import android.content.Intent;
    import android.content.IntentFilter;
    import android.view.Menu;
    import android.view.View;
    import android.view.View.OnClickListener;
    import android.widget.Button;
    import android.widget.ProgressBar;
    
    public class MainActivity extends Activity {
         private static Button button=null;  
         private static ProgressBar bar=null; 
         private IntentFilter filter; 
         Broadcasttest t;
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.main);
            button=(Button)findViewById(R.id.button);  
            bar=(ProgressBar)findViewById(R.id.bar);
            button.setOnClickListener(new ButtonClick());
        }
    
        public static Button getButton()  
        {  
            return button;  
        }  
          
        public static ProgressBar getBar()  
        {  
            return bar;  
        }
        
        class ButtonClick implements OnClickListener{
    
            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub
                t = new Broadcasttest();
                filter = new IntentFilter();
                filter.addAction(Intent.ACTION_EDIT);
                Intent intent = new Intent();
                intent.setAction(Intent.ACTION_EDIT );
                registerReceiver(t, filter);
                sendBroadcast(intent);
            }
            
        }
        
        
        
        @Override
        protected void onDestroy() {
            // TODO Auto-generated method stub
            super.onDestroy();
            unregisterReceiver(t);
        }
    
        @Override
        public boolean onCreateOptionsMenu(Menu menu) {
            // Inflate the menu; this adds items to the action bar if it is present.
            getMenuInflater().inflate(R.menu.main, menu);
            return true;
        }
    
    }
    package com.ct.mytestbroad;
    
    import android.os.Bundle;
    import android.app.Activity;
    import android.content.Intent;
    import android.content.IntentFilter;
    import android.view.Menu;
    import android.view.View;
    import android.view.View.OnClickListener;
    import android.widget.Button;
    import android.widget.ProgressBar;
    
    public class MainActivity extends Activity {
         private static Button button=null;  
         private static ProgressBar bar=null; 
         private IntentFilter filter; 
         Broadcasttest t;
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.main);
            button=(Button)findViewById(R.id.button);  
            bar=(ProgressBar)findViewById(R.id.bar);
            button.setOnClickListener(new ButtonClick());
        }
    
        public static Button getButton()  
        {  
            return button;  
        }  
          
        public static ProgressBar getBar()  
        {  
            return bar;  
        }
        
        class ButtonClick implements OnClickListener{
    
            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub
                t = new Broadcasttest();
                filter = new IntentFilter();
                filter.addAction(Intent.ACTION_EDIT);
                Intent intent = new Intent();
                intent.setAction(Intent.ACTION_EDIT );
                registerReceiver(t, filter);
                sendBroadcast(intent);
            }
            
        }
        
        
        
        @Override
        protected void onDestroy() {
            // TODO Auto-generated method stub
            super.onDestroy();
            unregisterReceiver(t);
        }
    
        @Override
        public boolean onCreateOptionsMenu(Menu menu) {
            // Inflate the menu; this adds items to the action bar if it is present.
            getMenuInflater().inflate(R.menu.main, menu);
            return true;
        }
    
    }

    (在F:\java\MyTestBroad)

  • 相关阅读:
    python测试开发django-115.Paginator分页器展示table表格数据
    python面试题-如"上海 深圳 深圳 上海",要求输入一个匹配模式,比如: aabb,判断是否符合
    python测试开发django-114.ModelForm中局部钩子(clean_)和全局钩子校验
    python测试开发django-113.使用Bootstrap框架
    MySQL将查询的结果作为update更新的数据,且在原字段数据后 CONCAT拼接(lej)
    MongoDB和Redis的区别是什么
    【精选】由浅入深带你吃透MQ原理与应用场景
    mysql 往表中某个字段的字符串后追加字符串
    mongodb 安装及使用
    Redis和MongoDB的区别(面试受用)
  • 原文地址:https://www.cnblogs.com/ct732003684/p/2955964.html
Copyright © 2020-2023  润新知