[Java] 动态注册Broadcastreceiver →→→→→进入此内容的聊天室

来自 , 2019-02-15, 写在 Java, 查看 196 次.
URL http://www.code666.cn/view/9ac403da
  1. package com.example.broadreceiverdemo;
  2.  
  3. import android.os.Bundle;
  4. import android.os.Message;
  5. import android.app.Activity;
  6. import android.content.BroadcastReceiver;
  7. import android.content.Context;
  8. import android.content.Intent;
  9. import android.content.IntentFilter;
  10. import android.util.Log;
  11. import android.view.Menu;
  12. import android.view.View;
  13. import android.view.View.OnClickListener;
  14. import android.widget.Button;
  15. import android.widget.EditText;
  16. import android.widget.TextView;
  17. import android.widget.Toast;
  18.  
  19. public class MainActivity extends Activity implements OnClickListener {
  20.        
  21.         private Button jia;
  22.         public static final String ACTION01 = "MainActivity.acition01";
  23.         public static final String ACTION02 = "service.acition02";
  24.         private MyReceiver01 myReceiver01;
  25.        
  26.  
  27.         @Override
  28.         protected void onCreate(Bundle savedInstanceState) {
  29.                 super.onCreate(savedInstanceState);
  30.                 setContentView(R.layout.activity_main);
  31.                
  32.                
  33.                 Intent serviceintent = new Intent(MainActivity.this,service.class);
  34.                 startService(serviceintent);
  35.                 initReceiver();
  36.                 initview();
  37.                
  38.         }
  39.  
  40.        
  41.      private void initview(){
  42.                 jia = (Button)this.findViewById(R.id.button1);
  43.             jia.setOnClickListener(this);
  44.                
  45.         }
  46.        
  47.        
  48.        
  49.  
  50.         @Override
  51.         protected void onResume() {
  52.                 // TODO Auto-generated method stub
  53.                
  54.                 IntentFilter filter = new IntentFilter();
  55.                 filter.addAction("MainActivity.acition01");
  56.                 registerReceiver(myReceiver01, filter);
  57.                
  58.                 super.onResume();
  59.         }
  60.  
  61.  
  62.         public void initReceiver() {
  63.                 // TODO Auto-generated method stub
  64.                
  65.                 // 注册广播
  66.                 //ownReceiver = new OwnReceiver();
  67.                 myReceiver01 = new MyReceiver01();
  68.                 IntentFilter filter = new IntentFilter();
  69.                 filter.addAction(ACTION01);
  70.                 registerReceiver(myReceiver01, filter);
  71.         }
  72.        
  73.         public class MyReceiver01 extends BroadcastReceiver{
  74.  
  75.                 @Override
  76.                 public void onReceive(Context context, Intent intent) {
  77.                         // TODO Auto-generated method stub
  78.                         int control = intent.getIntExtra("control02flag", -1);
  79.                         String content = intent.getStringExtra("control02");
  80.                         //Toast.makeText(context, "258746874",0).show();
  81.                         switch(control){
  82.                          
  83.                         case 1 :
  84.                                 Toast.makeText(getApplicationContext(), content,1).show();
  85.                                 break;
  86.                        
  87.                         }
  88.                        
  89.                 }
  90.         }
  91.         @Override
  92.         public void onClick(View v) {
  93.                 // TODO Auto-generated method stub
  94.                
  95.                 switch (v.getId()) {
  96.                 case R.id.button1:
  97.                
  98.                         Intent sendintent = new Intent(ACTION02);
  99.                          sendintent.putExtra("control01flag",1);
  100.                
  101.                         /*Intent sendintent = new Intent();
  102.                          sendintent.setAction("MainActivity.acition01");*/
  103.                         sendBroadcast(sendintent);
  104.                        
  105.                         break;
  106.                        
  107.                
  108.                 }
  109.                
  110.         }
  111.  
  112. }
  113.  

回复 "动态注册Broadcastreceiver"

这儿你可以回复上面这条便签

captcha