前段时间使用友盟的消息推送,发现消息能推送到设备,但进入不到Receiver,没法实现对收到的消息进行自定义处理,友盟的

文档也没有进行说明。后来咨询了友盟的工程师,说加上

android:exported="false"

就可以了,试了下果然可以。代码如下:


 <!-- 监听消息到达的广播 -->        <receiver            android:name="com.umeng.message.MessageReceiver"            android:exported="false"            android:process=":push" >            <intent-filter>                <action android:name="org.agoo.android.intent.action.RECEIVE" />            </intent-filter>        </receiver>


android:exported属性详解

这个属性用于指示该服务是否能够被其他应用程序组件调用或跟它交互。如果设置为true,则能够被调用或交互,否则不能。设置为false时,只有同一个应用程序的组件或带有相同用户ID的应用程序才能启动或绑定该服务。
它的默认值依赖与该服务所包含的过滤器。没有过滤器则意味着该服务只能通过指定明确的类名来调用,这样就是说该服务只能在应用程序的内部使用(因为其他外部使用者不会知道该服务的类名),因此这种情况下,这个属性的默认值是false。另一方面,如果至少包含了一个过滤器,则意味着该服务可以给外部的其他应用提供服务,因此默认值是true。
这个属性不是限制把服务暴露给其他应用程序的唯一方法。还可以使用权限来限制能够跟该服务交互的外部实体。

更多相关文章

  1. 关于android应用程序签名的一些事儿
  2. Android应用程序的消息处理机制
  3. 利用BeautifulSoup的find_all()函数查找某个标签且该标签某属性
  4. 用 Eclipse 开发 Android 应用程序[转]
  5. Android—— Android 的属性系统
  6. Android应用程序拍照行为C层拦截实现

随机推荐

  1. mysql的几种SQL语句
  2. sql2005 数据库连接的时候,无法连接外部服
  3. 无法弄清楚mySQL语法错误的来源
  4. 如何在大表中选择重复的行/记录?
  5. JSP连接Mysql的数据库连接池配置相关
  6. MySQL各存储引擎的区别及其启动方法
  7. 数据库_6_SQL基本操作——库操作
  8. AppScan安全问题解决方案
  9. sqlserver2000的jdbc驱动一定要用.exe安
  10. 浅谈MYSQL索引应用(一)