粘滞广播:广播发送出去以后,广播接收者还没有创建,当广播接收者注册的时候就可以接收,如果不是粘滞广播则如果没有广播接收者就以后不能再接收了。

mainActivity:

package com.sxt.day07_07;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener; public class MainActivity extends Activity { @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Intent intent=new Intent("com.sxt.day07_07.my_receiver");
sendStickyBroadcast(intent);//发送粘滞广播,一直停留等着接收者
setListener();
} private void setListener() {
findViewById(R.id.btnStartSecondActivity).setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Intent intent2=new Intent(MainActivity.this, SecondActivity.class);
startActivity(intent2);//启动SecondActivity
}
});
} }

SecondActivity

package com.sxt.day07_07;

import android.os.Bundle;
import android.app.Activity;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.util.Log;
import android.view.Menu; public class SecondActivity extends Activity {
MyReceiver mReceiver;
Intent mIntent;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_second);
registerReceiver();
}
private void registerReceiver() {
mReceiver=new MyReceiver();
IntentFilter filter=new IntentFilter("com.sxt.day07_07.my_receiver");
registerReceiver(mReceiver, filter);
} //内部类,只有SecondActivity启动了,MyReceiver才能注册接收广播。
class MyReceiver extends BroadcastReceiver{
@Override
public void onReceive(Context context, Intent intent) {
Log.i("main","MyReceiver.onReceive()");
mIntent=intent;
}
}
@Override
protected void onDestroy() {
super.onDestroy();
removeStickyBroadcast(mIntent);//移出,移出以后就收不到广播了
unregisterReceiver(mReceiver);//移出接收者
}
}

系统描述文件:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.sxt.day07_07"
android:versionCode="1"
android:versionName="1.0" > <uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="18" />
<uses-permission android:name="android.permission.BROADCAST_STICKY"/> 粘滞广播要申请权限
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="com.sxt.day07_07.MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name="com.sxt.day07_07.SecondActivity"
android:label="@string/title_activity_second" >
</activity>
</application> </manifest>

main页面:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"> <Button
android:id="@+id/btnStartSecondActivity"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/hello_world" /> </RelativeLayout>

second页面:

<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"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".SecondActivity" > <TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/hello_world" /> </RelativeLayout>

最新文章

  1. ImportError: No module named &#39;requests&#39;
  2. 深入理解JavaScript系列
  3. 在iOS中使用Phonegap防止Webview被上下拖动
  4. phpcms不能后台编辑模板
  5. CSS样式选择器优先级
  6. excel数据出入Oracle数据库(转)
  7. RabbitMQ(二) -- Work Queues
  8. SAM4E单片机之旅——19、CAN间通信
  9. noip知识点总结之--欧几里得算法和扩展欧几里得算法
  10. 记录bigdesk中ElasticSearch的性能参数
  11. CoordinatorLayout的简单应用(材料设计新控件)
  12. [ZZ]C++中,引用和指针的区别
  13. Fibonacci sequence 求余数
  14. 程序员提高工作效率的15个技巧【Facebook】
  15. myEclipse勿删文件怎么恢复
  16. linux 安装sysstat使用iostat、mpstat、sar、sa
  17. 理解css伪类和伪元素
  18. 【Unity与23种设计模式】命令模式(Command)
  19. ACM Adding Reversed Numbers(summer2017)
  20. BZOJ_2882_工艺_后缀数组

热门文章

  1. php 函数 array_slice
  2. 小爬虫。爬取网站多页的通知标题并存取在txt文档里。
  3. python【第十一篇】消息队列RabbitMQ、缓存数据库Redis
  4. PM【terminal】
  5. service httpd restart失败解决方法(小记)
  6. BZOJ 3969 low power
  7. iOS便捷开发工具分享
  8. 我是如何学习NodeJs
  9. 解除網頁無法選取文字、鎖右鍵限制:Enable Copy(Chrome 擴充套件)
  10. new 与override 区别