如何解决 Intent 调用缓冲数据问题
来源:互联网 发布:数据铭品 编辑:程序博客网 时间:2024/06/13 03:59
Android开发中,经常会遇到一个app调用另外app的情况,android
为此提供的解决方法为:Intent
通过Intent 加 Action命令 和指定flags 决定Intent调用的传输内容和使用方式。
相关代码的样例网上到处都是,不再详述了。
我要说的问题是:经过intent调用后的app,会缓存起来Intent调用和数据,这个
会导致下次手动运行该app时,app仍然会收到Intent调用和数据,导致程序去
错误运行支持外部app调用的逻辑。
这个问题思路首先是:
Intent本身是否有清理的功能支持。去文档查看了下,的确有很多类似clear ,replace....之类的接口
但调用后,发现没有任何作用,数据没有清掉。
去codestack trace该问题,发现论坛上有放置几年的提问,但没有人提出正确的解答。
我个人重新研究了相关文档接口后认为:清理接口应该是需要特定的权限才能起作用,并不是不能使用。
但该权限一时无法找到,文档也没有相关提及。
我的解决方法:
既然无法清理,那么就识别出来吧。 Intent数据到来时,伴随的action和flags这些数据是不会被存储的,完全根据
调用的实际情况传递,所以,根据action和flags的数值判断出当前调用的方式即可。
eg:
if(Intent.getAction().contains( "action.sender"))
.......
或者
if(Intent.getFlags() | ...... )
.......
缓冲还是没有清理,但总之问题解决了,算是一个思路。
0 0
- 如何解决 Intent 调用缓冲数据问题
- 如何使用 GDI+ 双缓冲 解决绘图闪烁问题
- android 多次调用PendingIntent.getBroadcast intent数据不更新问题
- android 多次调用PendingIntent.getBroadcast intent数据不更新问题
- 解决real缓冲的问题
- 双缓冲解决抖动问题
- intent数据传递问题
- PHP逐行输出数据并解决两种常见缓冲问题
- vb.net中利用双缓冲绘图技术解决listview加载数据闪烁的问题
- 如何解决MYSQL数据中文乱码问题
- 如何解决MYSQL数据中文乱码问题
- 如何解决MSSQL中文数据乱码问题
- 如何解决mysql导入数据乱码问题
- 如何解决mysql导入数据乱码问题
- 如何解决热点数据更新问题
- 如何解决Get提交数据乱码问题
- 解决通过Intent调用系统拍照程序,返回图片太小的问题[android]
- 解决通过Intent调用系统拍照程序,返回图片太小的问题
- mysql旧表去重数据导入新表且赋予主键id新值
- 软件开发团队阶段
- 编程常用英语单词(二)
- MyEclipse设置JVM内存大小
- java基础集合数组间的转换(java集合五)
- 如何解决 Intent 调用缓冲数据问题
- 输入输出--write
- 关注PHPthinking官网微信公众号——红包来袭
- turbo c中使用setvisualpage()语句图像显示重叠错误
- A simple question
- vs2012 express 密钥
- 黑马程序员——多线程
- POJ 3169 Layout
- 20150606