标签:
1、New→Other→BroadcastReceiver
package com.example.lhb.startservice; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.widget.Toast; public class MyReceiver extends BroadcastReceiver { public MyReceiver() { } public static final String ACTION="com.example.lhb.startservice.intent.action.MyReceiver";//约定俗成,包名+intent.action+MyReceiver @Override public void onReceive(Context context, Intent intent) { System.out.println("接收到了消息:"+intent.getStringExtra("data")); throw new UnsupportedOperationException("Not yet implemented"); } }
package com.example.lhb.startservice; import android.app.Activity; import android.content.Intent; import android.content.IntentFilter; import android.support.v7.app.ActionBarActivity; import android.os.Bundle; import android.view.Menu; import android.view.MenuItem; import android.view.View; import android.widget.EditText; import android.widget.Toast; public class MainActivity extends Activity implements View.OnClickListener { private EditText inputText; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } private MyReceiver receiver=null; @Override public void onClick(View v) { switch (v.getId()){ case R.id.btnSendMsg: Intent intent=new Intent(MyReceiver.ACTION);//隐式传递 intent.putExtra("data","GeoStorm"); break; case R.id.btnReg: if(receiver==null){ receiver=new MyReceiver(); registerReceiver(receiver,new IntentFilter(MyReceiver.ACTION)); } break; case R.id.btnUnReg: if(receiver!=null) { unregisterReceiver(receiver); receiver = null; } break; } } }注:只有注册了接收器后才能发送与接收到消息。
Android Studio开发基础之动态注册与注销BroadcastReceiver
标签:
原文地址:http://blog.csdn.net/lucky51222/article/details/46013589