文档章节

BroadcastReceiver与Notification的综合应用自定义Action的调用方式

zretc
 zretc
发布于 2013/07/18 16:45
字数 1171
阅读 317
收藏 5

Android的实际应用开发中,我们经常会遇到数据推送的相关技术,比如在应用软件启动后,系统会自动在Android的通知栏弹出相应的信息,以便于提示用户进行相关的操作或消息推送。那这项技术在Android中式如何实现的呢?我们通过这篇文章简单介绍一下该技术的实现方法,希望大家能够了解并掌握这项核心的技术。

     首先,若想实现这个技术要涉及以下三个核心的知识点:

1. 
自定义Action的调用方式

2.     
BroadcastReceiver的基本应用

3.     
Notification通知机制的使用

本文仅对知识点1做一个讲解和阐述,后续知识点在后续文章中进行讲解。

那么,我们就逐一对这些技术进行一个简单的说明,希望大家能够快速掌握这项技术。

项目实现效果图:
 

 
 
 
 
 
 
 
知识点1:自定义Action的调用方式

       Intent作为Android系统中各组件之间的纽带起着至关重要的作用,在我们的平时应用中Intent对象主要完成两件事情,一件是多个Activity(界面)之间的跳转,另一个件是使用putExtras()方法完成界面件数据的传递。其实在我们的AndroidIntent的作用不止这些,他有着强大的功能,很多组件的启动全部依赖于该对象,比如说Service服务组件、Receiver接收器、ContentProvier内容提供者等,他们都是用过Intent对象来启动的,当然启动的方法绝对不仅仅是startActivity(intent)这么简单了。对于不同的组件对象,其有着不同的启动方法。下面我给大家简单介绍一个使用自定义Action动作来完成的窗体Activity组件启动,通过这个案例抛砖引玉,主要让大家掌握基本的使用方法,今后可以举一反三,以此类推。

       首先说一下Action动作,在Android中我们的每个窗体组件对象都必须在AndroidManifest.xml文件中进行注册声明,而首启动的界面在声明中有一个<intent-filter>的标签,在该标签下有一个<action
android:name=”xxxx”>
的标签和一个<category android:name=”xxx”>的标签,如下图所示。


 
我们应该对这两个标签有一定的认知和了解。

代码分析:


 

       <action>标签的作用是指明该组件的核心动作类型,其android:name属性表示的是Android系统内置的标准动作,比如说 android.intent.action.MAIN 它告诉虚拟机该界面为应用程序的入口界面,为首启动标准动作。但让这个值也可以我们自己定义一个,好比给该组件起一个别名,从而也就形成了我们的自定义Action动作。





       <category>标签的作用是指明该组件的类型,其 android:name属性表示的是Android系统内置的标准类型模式,比如说 android.intent.category.LAUNCHER 它告诉戴尔维克虚拟机该组件为启动类型组件。

       那我们如何自己定义一个Action动作来完成组件的启动和调用呢?

       环节1:创建一个Activity窗体界面

       步骤1-1:在Android项目的res文件夹的layout文件夹中创建一个布局文件,布局里面只需放置一个TextView组件即可。具体代码如下:

       activity_second.xml



       步骤1-2:在Android项目的src文件夹下创建一个SecondActivity的窗体类文件,具体代码如下:
 

 


       环节二:在AndroidManifest.xml文件中注册并声明该窗体组件对象

       步骤2-1:在AndroidManifest.xml文件中注意对Activity的声明,具体代码如下:


 


特别注意的是我们要在注册的时候要自定义一个Action的名称,命名规范为 项目.包名称.组件名称 的基本格式。本例将Action定义为 myproject14.activity.second

环节三:在MainActivity的按钮单击事件中编写代码实现自定义Atiion的调用。

步骤3-1:在MainActivity的按钮单击事件处理中编写代码如下所示:




使用setAction(Action_Name)方法完成对启动组件名称的设置,ACTION_NAME为程序的全局性字符串常量,在先前有过声明,如下所示:



该字符串的值应该与AndroidManifest.xml文件中Action标签的名称保持一致。

       本文章首先对自定义Action做一个简单的简介,希望大家关注我的后续内容。

© 著作权归作者所有

共有 人打赏支持
zretc
粉丝 0
博文 12
码字总数 13494
作品 0
海淀
私信 提问
Notification使用详解之四:由后台服务向Activity发送进度信息

上次讲到了如何在Activity中监听后台服务的进度信息,实现的方式是让Activity与后台服务绑定,通过中间对象Binder的实例操作 后台服务。从效果上来讲,这种方式是可行的,不过这种实现有个缺...

MZHS
2013/11/28
0
0
BroadcastReceiver(广播接收者)

BroadcastReceiver是Android系统的核心组件。 广播是一种通信机制,广播的发送方可以发出广播,而另一端可以使用接收者接收该广播,接收到了以后决定相应的处理。 发广播可以使用sendBroadca...

梦想家Peng
2016/03/03
62
0
BroadcastReceiver—简介

Android BroadcastReceiver 简介 在 Android 中使用 Activity, Service, Broadcast, BroadcastReceiver 活动(Activity) - 用于表现功能 服务(Service) - 相当于后台运行的 Activity 广播(Br......

zt1212
2012/10/12
0
0
个帖子学会Android开发四大组件

黑色幽默Lion 方向比努力重要,能力比知识重要,情商比智商重要! 首页 新闻 新随笔 管理 随笔- 43 文章- 0 评论- 12 一个帖子学会Android开发四大组件 注:本文来自“友盟杯”,仅在此阅读,学...

wsl_Mr
2015/09/02
0
0
总结全面的广播机制

BroadCastReceiver 源码位于: framework/base/core/java/android.content.BroadcastReceiver.java 广播接收者( BroadcastReceiver )用于接收广播 Intent ,广播 Intent 的发送是通过调用 ......

天高空
2012/03/20
1K
1

没有更多内容

加载失败,请刷新页面

加载更多

《稻盛和夫经营学》读后感心得体会3180字范文

《稻盛和夫经营学》读后感心得体会3180字范文: 一代日本经营之圣稻盛和夫凭借刻苦勤奋的精神以及深植于佛教的商业道德准则,成为了“佛系”企业家的代表人物。在《稻盛和夫经营学》“领导人...

原创小博客
26分钟前
1
0
java框架学习日志-5(常见的依赖注入)

依赖注入(dependency injection) 之前提到控制反转(Inversion of Control)也叫依赖注入,它们其实是一个东西,只是看的角度不同,这章详细说一下依赖注入。 依赖——指bean对象创建依赖于...

白话
42分钟前
2
0
红外接收器驱动开发

背景:使用系统的红外遥控软件没有反应,然后以为自己接线错误,反复测试,结果烧坏了一个红外接收器,信号主板没有问题。所以自己开发了一个红外接收器的python驱动。接线参见https://my.os...

mbzhong
今天
2
0
ActiveMQ消息传送机制以及ACK机制详解

AcitveMQ是作为一种消息存储和分发组件,涉及到client与broker端数据交互的方方面面,它不仅要担保消息的存储安全性,还要提供额外的手段来确保消息的分发是可靠的。 一. ActiveMQ消息传送机...

watermelon11
今天
2
0
HashTable和Vector为什么逐渐被废弃

HashTable,不允许键值为null,还一个就是put方法使用sychronized方法进行线程同步,单线程无需同步,多线程可用concurren包的类型。 如编程思想里面说的作为工具类,封闭性做的不好没有一个...

noob_chr
昨天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部