有注册就须要在 Activity 烧毁时撤消注册,所以还须要封装一个解除注册的办法供外部调用, Android 体系供给 ContentResolver#unregisterContentObserver 办法来撤消注册,代码比较简单,这里就不再展示了。
监听器设置和注册完成后,一旦用户操作了截屏动作,体系就会履行 ContentObserver#onChange 回调办法,在这个办法中我们可以根据 Uri 获取并解析数据。这里展示一下具体的数据解析过程,上述提到的规矩断定比较简单,就不再展示了。
- private void handleMediaContentChange(Uri contentUri) {
- Cursor cursor = null;
- try {
- // 数据改变时萌芽数据库中最后参加的一条数据
- cursor = mContext.getContentResolver().query(contentUri,
- Build.VERSION.SDK_INT < 16 ? MEDIA_PROJECTIONS : MEDIA_PROJECTIONS_API_16,
- null, null, MediaStore.Images.ImageColumns.DATE_ADDED + " desc limit 1");
- if (cursor == null) return;
- if (!cursor.moveToFirst()) return;
- // cursor.getColumnIndex获取数据库列索引
- int dataIndex = cursor.getColumnIndex(MediaStore.Images.ImageColumns.DATA);
- String data = cursor.getString(dataIndex); // 图片存储地址
- int dateTakenIndex =
推荐阅读
赓续增长的存储需求促使很多企业转向云计算。云计算是新实际,但确保云存储在安然,机能和可扩大性方面获得恰当构建也至关重要。 云计算响应筹划成“大年夜杂烩”怎么办?分析机构>>>详细阅读
本文标题:Android截屏与WebView长图分享经验总结
地址:http://www.17bianji.com/lsqh/35456.html
1/2 1