在Manifest中注册广播接收器以及接受广播的类型,并通过Activity中的按钮发出广播,通过接收器接受并响应。
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.xmlbroadcast"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="10"
android:targetSdkVersion="15" />
<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name=".MainActivity"
android:label="@string/title_activity_main" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<!-- 注册广播监听器 -->
<receiver android:name="TestReceiver">
<intent-filter>
<!-- 注明接受广播的类型 -->
<action android:name="android.intent.action.EDIT"/>
</intent-filter>
</receiver>
</application>
</manifest>
TestReceiver类,用来注明接受响应后执行的操作。
package com.example.xmlbroadcast;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.widget.Toast;
public class TestReceiver extends BroadcastReceiver{
@Override
public void onReceive(Context arg0, Intent arg1) {
// TODO Auto-generated method stub
//Toast to1=null;
//to1.makeText(null,"fuck", Toast.LENGTH_SHORT);
//to1.show();
System.out.print("ReceiveMessage");
//TextView tx1=null;
//tx1=(TextView)findViewById(R.id.txv);
}
}
通过Activity中的按钮发出一个广播
package com.example.xmlbroadcast;
import java.io.*;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;
public class MainActivity extends Activity {
private TextView tx1=null;
private Button bt1=null;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
bt1=(Button)findViewById(R.id.btn);
bt1.setOnClickListener(new bt1listener());
tx1=(TextView)findViewById(R.id.txv);
}
class bt1listener implements OnClickListener{
public void onClick(View v) {
// TODO Auto-generated method stub
System.out.print("fuck");
tx1.setText("fuck");
Intent it1=new Intent();
it1.setAction(Intent.ACTION_EDIT);
MainActivity.this.sendBroadcast(it1);
}
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.activity_main, menu);
return true;
}
}
分享到:
相关推荐
Manifest_UFSFiles_Android.txt
android manifest 解密jar
android Manifest.xml详解 介绍了很多标签和属性
Android开发教程_013_初识Android Manifest 标清
android apk文件里MANIFEST.MF、CERT.SF、CERT.RSA三者的关系(csdn)————程序
博文介绍:http://blog.csdn.net/qq_21376985/article/details/51830991 Android开发工具资料Android Manifest 权限描述大全 随时随地查询权限描述。
比如,更改Manifest文件中的app包名,版本号,更改或新增app入口Application的类名,更改或新增debuggable的属性,增加usesPermission标签,增加meta-data标签等。 同时,为了更方便使用,提供了直接修改Apk包中的...
AndroidManifest解析器 一个纯Java、实现了SAX接口、无任何第三方依赖的 AndroidManifest.xml 解析工具。 AndroidManifest.xml文件格式 Binary AndroidManifest.xml Magic Number(0x00080003) 4bytes // 魔数 ...
主要介绍了Android 中Manifest.xml文件详解的相关资料,需要的朋友可以参考下
git clone git@github.com:Bresiu/android-manifest-merger.git mvn安装 java -jar target/manifest-merger-jar-with-dependencies.jar --main mainAndroidManifest.xml --log [VERBOSE, INFO, WARNING, ERROR] -...
AS的Gradle插件默认会启用Manifest Merger Tool,若Library项目中也定义了与主项目相同的属性(例如默认生成的android:icon和android:theme),则此时会合并失败,并报上面的错误。 解决方法有以下2种: 方法1:在...
Manifest.permission 这个类定义了android全部的权限共106个 我们在 AndroidManifest.xml里需要对一些软件需要的操作做一些权限的声明, 比如我们的软件有发送短信的功能,那么就需要在 AndroidManifest.xml 里做...
Java 读写MANIFEST.MF文件中的属性,采用maven打包MANIFEST.MF配置项,通过io流读取配置项
Android2.2 API 中文文档,注意这里只有Manifest控件的,请关注http://over140.cnblogs.com/的更新。
repo init -u https://github.com/ArrowOS/android_manifest.git -b arrow-11.0 然后同步: repo sync 建立系统 使用envsetup.sh脚本初始化ROM环境。 . build/envsetup.sh 如果需要,请在克隆所有设备源后为您的...
android-manifest:Rust Android清单
steam-appmanifest, 在 ~/.steam/steam/SteamApps 中,生成 appmanifest_APPID.acf 文件 Steam AppManifest生成器这是一个简短的python 脚本,可以让 Steam 下载到下载非Linux应用程序中。注:Steam 不会运行没有...
通过占坑位启动未在AndroidManifest.xml注册的Activity,工程很简单,主要是演示原理,已经足够了,AndroidStudio可直接运行。