非常简单的android广播示例
来源:互联网 发布:python图像识别 编辑:程序博客网 时间:2024/05/17 05:02
在本示例中,我们通过一个应用发送广播,另一个应用接收广播。当然两个应用的界面都非常简单,发送广播的界面包括一个按钮和一个文本编辑框,接收应用可以在控制台看到日志输出文本编辑框中的内容。XML文件不再给出。
下面直接上代码(代码中有详细注释):
发送广播的应用没有开启什么权限,注册文件可以保持不变
package com.example.test06;
import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
public class MainActivity extends Activity implements OnClickListener{
private EditText editText;//编辑要广播的内容
private Button button;//点击之后发送广播
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
editText=(EditText)findViewById(R.id.editText1);
button=(Button)findViewById(R.id.button1);
button.setOnClickListener(this);
}
@Override
public void onClick(View v) {
Intent intent=new Intent();
intent.putExtra("txt", editText.getText().toString());
intent.setAction("com.example.test06.123456");//接受广播的应用需要在注册表中注册该行代码,用来表示唯一的广播源
this.sendBroadcast(intent);//把广播发送出去
}
}
下面是接受广播的应用,其注册文件需加上如下内容(在Application之中):
<receiver android:name=".Sms">
<intent-filter >
<action android:name="com.example.test06.123456"/>
</intent-filter>
</receiver>
接受广播的应用的文件中MainActivity不需要改变,直接复制如下
package com.example.test05;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
@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;
}
}
因为注册表中的<receiver android:name=".Sms">名字为.Sms,因此我们需要在工程的SRC 之下的相应包中新建一个名为Sms.java的文件,文件内容如下:
用来接受广播
package com.example.test05;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.util.Log;
public class Sms extends BroadcastReceiver {
public void onReceive(Context arg0, Intent arg1) {
if(arg1.getAction().equals("com.example.test06.123456")){
Log.i("Tag",arg1.getStringExtra("txt"));
}
Log.i("Tag","heheheh");
}
}
- 非常简单的android广播示例
- Android中 广播发送 和 接受 的简单示例
- Android 广播的用法示例
- Android 广播的用法示例
- Android广播BroadcastReceiver最简单使用示例
- 一个VC简单的UDP广播示例
- Android简单的广播消息
- android 广播的简单使用
- android 广播的简单使用
- Android广播的简单使用
- Qt UDP 广播简单示例
- Android的简单的广播的例子
- 非常简单的为Android设置TabBar
- android studio 非常实用简单的快捷键
- 九.实现一个简单的Android广播
- Android简单的广播发出和接收
- 最简单的自定义Android广播
- Android广播接收短信的简单实现
- 什么是CSS BFC(Block Formatting Context)
- [Python标准库]re——正则表达式[二]
- Python中常见的数据类型小结
- Python访问sqlite3数据库取得dictionary的正路!
- UVa 227 Puzzle
- 非常简单的android广播示例
- 整型转字符串型或char* 型
- PHP语言编写的四条指南
- 太原理工大学有一个数据结构精品课件
- 星环科技创始人兼CTO孙元浩:现代数据仓库的技术演变和关键特性
- Serializable和Parcelable
- HDU 2093 考试排名
- 字符统计
- My Sql connector Net 安装及C# 连接My Sql数据库