Android系统setting中读取apk的属性

在Android系统中所有的文件,可以点击menu菜单弹出更多选项,其中一个功能为分享,我们可以将自己apk在编译是添加属性,以至于在系统的任何位置点击分享,也能看到我们自己的程序。今天的重点不在 分享上,关于分享我这儿看到一篇文章,http://blog.csdn.net/xyz_lmn/article/details/16856843着实不错
上面的分享贴一张图片
将自己的apk程序添加到分享列表中
今天我想介绍的是setting中的print服务。当你安装一个apk程序如果带有打印功能会在print服务列表中出现打印服务以及默认打印机。
先贴一张图片
这里写图片描述
分析代码,关于setting源码分析网上有很多的帖子,就不赘述了,

  1. 打开源码目录找出与print有关的代码
    这里写图片描述
    根据setting界面,我们一眼就可以确认print的界面在res的xml文件中
    这里写图片描述
    节点的title内容可以从values的string.xml中得到确认,是不是跟界面显示一致。
  2. 根据这个xml文件我们就可以找到setting应用程序中print的源代码。
    这里写图片描述
    从安装的apk程序中查找有没有services的action中有android.printservice.PrintService这个名词,有就把该apk信息添加到print列表中。
  3. queryIntentServices函数是PackageManager的一个aidl文件中定义的函数。由系统的services继承实现起编译过程中binder机制生成的子类,从而实现通讯。
    这里写图片描述

在apk程序中实现一个services类,继承android.printservice.PrintService此类,然后在mainfest文件中给此services声明加上一个action,name为android.printservice.PrintService。当在Android4.4.4以上,只有有系统打印的item,就会调用你的apk程序。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值