文档章节

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
Android学习之BroadcastReceiver总结

Android学习之BroadcastReceiver总结 代码下载:http://download.csdn.net/detail/nuptboyzhb/4482544 关于BroadcastReceiver的概述: ①广播接收器是一个专注于接收广播通知信息,并做出对应...

长平狐
2012/10/08
3K
0
android成长日记 10.关于BroadcastReceiver的详细说明

广播看完了,然后回过头写一下,其实就是分为几种广播, 广播分为动态注册和静态注册,,,广播又分为系统广播和自定义广播, ....发送方式又分为,有序广播和无序广播....发送广播又分为直接send和利...

康康渐渐
2016/03/08
30
0
Android 监听安装和卸载

Android 应用程序的安装和卸载事件,是由系统进行监听并全局广播的,支持1.5(android 3)以上 因此,如果想要监听获取应用的安装和卸载事件,只需要自定义一个BroadcastReceiver,来对系统广...

长平狐
2013/01/06
69
0

没有更多内容

加载失败,请刷新页面

加载更多

简易审计系统

1、有时候我们需要对线上用户的操作进行记录,可以进行追踪,出现问题追究责任,但是linux自带的history并不会实时的记录(仅仅在内存中,当用户正常退出(exit logout )时才会记录到history文件里...

芬野de博客
9分钟前
0
0
Qt那些事0.0.6

QML中使用Image,在设置source的后,通过Qt Quick2 Preview(qmlscene)遇到了图片找不到的问题: Image { id: success_img anchors.centerIn: parent ...

Ev4n
10分钟前
0
0
白话SpringCloud | 第十一章:路由网关(Zuul):利用swagger2聚合API文档

前言 通过之前的两篇文章,可以简单的搭建一个路由网关了。而我们知道,现在都奉行前后端分离开发,前后端开发的沟通成本就增加了,所以一般上我们都是通过swagger进行api文档生成的。现在由...

oKong
16分钟前
1
0
javah 生成jni文件的问题

命令:(on macbook for android) javah -d src/main/jni -jni -classpath /Users/Carlyle_Pro/Documents/android_adt/sdk/platforms/android-25/android.jar:build/intermediates/classes/......

Carlyle_Lee
18分钟前
0
0
Ubuntu 安装ssh服务以及开启root用户ssh登录

一、安装ssh服务 安装ssh服务 sudo apt-get update sudo apt-get install openssh-server 安装完成后启动ssh服务 sudo service ssh start 二、开启root用户ssh登录 解决root远程ssh不能登录,...

15834278076
38分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部