思路是构造两个activity一个activity设置为dialog主题,然后发送广播给另一个activity。
sendActivity:
public class sendBroadcast extends Activity { private Button sendButton = null; private EditText sendEditText = null; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_send); sendButton = (Button) findViewById(R.id.send_bt); sendEditText = (EditText) findViewById(R.id.send_et_content); sendButton.setOnClickListener(onClickListener); } android.view.View.OnClickListener onClickListener = new OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub switch (v.getId()) { case R.id.send_bt: sendBroadcast(sendEditText.getText().toString()); break; } } }; /** * 发送广播 * * @param string */ private void sendBroadcast(String string) { Intent intent = new Intent(); Bundle bundle = new Bundle(); bundle.putString("BroadcastContent", string); intent.putExtras(bundle); intent.setAction("Broadcast_Action");//给意图添加Action sendBroadcast.this.sendBroadcast(intent); } }
receiverActivity:
public class Receiver extends Activity {
private TextView showBroadcastContentTextView=null;
private Button showSendBroadcastActivityButton=null;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_receiver);
showBroadcastContentTextView=(TextView)findViewById(R.id.receiver_tv_content);
showSendBroadcastActivityButton=(Button)findViewById(R.id.receiver_bt_showsendbroadcast);
showSendBroadcastActivityButton.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Intent intent=new Intent(Receiver.this,sendBroadcast.class);
Receiver.this.startActivity(intent);
}
});
}
//新建广播接收器,重写接受方法
private BroadcastReceiver broadcastReceiver=new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
// TODO Auto-generated method stub
//获取广播传递过来的数据,显示在textview中。
String contentString=intent.getStringExtra("BroadcastContent");
Toast.makeText(Receiver.this, contentString, Toast.LENGTH_LONG).show();
showBroadcastContentTextView.setText(contentString);
}
};
@Override
protected void onResume() {//生成activity时添加意图拦截器,拦截广播并注册广播接收器
// TODO Auto-generated method stub
IntentFilter intentFilter=new IntentFilter();
intentFilter.addAction("Broadcast_Action");
registerReceiver(broadcastReceiver, intentFilter);
super.onResume();
}
@Override
protected void onDestroy() {
// TODO Auto-generated method stub
if (broadcastReceiver!=null) {
unregisterReceiver(broadcastReceiver);//销毁时接触注册
}
super.onDestroy();
}
}
receiver_layout:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".Receiver" > <TextView android:id="@+id/textView1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_alignParentTop="true" android:text="BroadCastReceiver" android:textAppearance="?android:attr/textAppearanceMedium" /> <TextView android:id="@+id/receiver_tv_content" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignRight="@+id/textView1" android:layout_below="@+id/textView1" android:layout_marginRight="20dp" android:layout_marginTop="24dp" /> <Button android:id="@+id/receiver_bt_showsendbroadcast" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentRight="true" android:layout_alignParentTop="true" android:layout_marginRight="30dp" android:text="ShowSendBroadcast" /> </RelativeLayout>
send_layout:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".MainActivity" > <TextView android:id="@+id/textView1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_alignParentTop="true" android:layout_marginLeft="19dp" android:layout_marginTop="23dp" android:text="broadCast使用" android:textAppearance="?android:attr/textAppearanceMedium" /> <EditText android:id="@+id/send_et_content" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_alignParentRight="true" android:layout_below="@+id/textView1" android:ems="10" > <requestFocus /> </EditText> <Button android:id="@+id/send_bt" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignLeft="@+id/textView1" android:layout_below="@+id/send_et_content" android:text="发送广播" /> </RelativeLayout>
广播入门了。
相关推荐
Android Broadcast demo是一个示例项目,它展示了如何混合使用广播和消息来实现特定的功能。在这个项目中,开发者会发送一个广播,并通过Notification来通知用户广播是否发送成功。 首先,我们要理解Android广播的...
【标题】"BroadcastDemo"揭示了这是一个关于Android广播(Broadcast)基础学习的项目。在Android系统中,广播是一种异步通信机制,允许应用程序之间发送和接收消息,即使它们并未同时运行。BroadcastReceiver是...
在Android系统中,Broadcast(广播)和Service是两个至关重要的组件,它们负责应用程序间的通信以及后台任务的执行。Broadcast主要用于在整个系统中发送和接收消息,而Service则用于在没有用户界面的情况下执行长...
总结来说,"Android BroadcastReceiver Demo"旨在帮助开发者理解BroadcastReceiver的使用,通过创建`BearBroadcastReceiver`类,学习如何接收和处理广播,以及如何在不同情况下注册BroadcastReceiver。熟悉这些知识...
Android Broadcast 静态注册Demo代码
广播演示 android服务演示
8. **BroadcastDemo项目结构**:这个项目可能包含一个BroadcastReceiver类,如MyBroadcastReceiver,以及一个发送广播的Activity,比如MainActivity。MainActivity中会有一个按钮或触发事件来发送广播,而...
`ScreenShotSample_android截屏_DEMO_android截屏demo` 提供了一个Android客户端实现截屏服务的示例项目,帮助开发者了解如何在应用程序中集成截屏功能。下面将详细阐述这个DEMO涉及的核心知识点及其实现方法。 1. ...
在这个Android_UDPBroadcast_Demo中,我们将深入探讨如何在Android设备上进行UDP广播的收发。 首先,要实现UDP广播,我们需要使用Java的`java.net.DatagramSocket`类来创建一个UDP套接字。这个套接字可以用于发送和...
通过分析这个BroadcastDemo项目,我们可以深入学习广播的原理和实践应用。 首先,我们需要了解广播的基本概念。在Android中,广播分为两种类型:系统广播和自定义广播。系统广播是由系统或系统服务发出的,如设备...
`19.BroadcastDemo`可能是项目中的一个示例,通常包含BroadcastReceiver的实现、注册与注销代码。例如,创建一个BroadcastReceiver: ```java public class MyBroadcastReceiver extends BroadcastReceiver { @...
**Android API Demo 源码详解** Android API Demo 是一套由Google官方提供的示例代码库,旨在帮助开发者理解和学习Android平台的各种API功能。这个源码集合涵盖了从基础UI组件到高级服务和网络通信的多种技术,是...
这个"android蓝牙demo实现通讯功能"的项目旨在教你如何构建一个能够利用蓝牙进行数据传输的应用。在这个过程中,BroadcastReceiver(广播接收器)和Service是关键组件,它们帮助用户与后台服务进行交互。 首先,...
在Android开发领域,官方demo是开发者获取最新技术信息和学习平台特性的宝贵资源。"Android开发的官方demo"集合了谷歌发布的最新、最全面的示例代码,旨在帮助开发者理解和应用Android SDK的各种功能。这些demo通常...
在Android开发中,BroadcastReceiver(广播接收者)是四大组件之一,它负责监听系统或应用程序广播事件,并在接收到...通过`Android_BroadcastReceiverDemo`,开发者可以更直观地了解和实践BroadcastReceiver的使用。
Android框架层包括Activity Manager、Content Provider、Broadcast Receiver、Service等关键组件,它们构成了Android应用程序模型。通过"demo",我们可以看到这些组件的工作原理,学习如何进行进程管理、数据共享、...
在Android开发中,"android 手机开机启动服务DEMO"是一个常见的应用场景,它涉及到服务(Service)、广播接收器(BroadcastReceiver)以及Android系统的启动流程。这个DEMO包含了一个Activity、一个...
在“android Broadcast Receiver demo”中,BroadcastTest很可能是演示了如何创建和注册BroadcastReceiver,以及如何处理短信接收的示例。这个示例可能会包含以下内容: 1. 定义BroadcastReceiver类,如`SmsReceiver...
【Android_API_Demo】是一个专为Android初学者设计的实践项目,它包含了Android开发中常用API的各种示例代码,帮助开发者了解并掌握Android组件的使用方法。在这个项目中,你可以找到关于活动(Activity)、意图...