实时文件夹
实时文件夹是一种用来显示由某个ContentProvider提供的数据信息的桌面组件。要创建一个实时文件夹,必须要有两方面的支持。一方面是,要定义一个用来创建实时文件夹的Activity。另一方面是,所指定数据信息URI的ContentProvider必须支持实时文件夹的查询。本节中就将要介绍如何为应用程序创建实时文件夹。
与在Launcher的桌面上添加一个快捷方式类似,用户在桌面上长按后选择实时文件夹就会弹出一个可用实时文件夹的列表对话框。若我们想把自己应用程序内的Activity也添加到这一列表中,同样只需要在该Activity注册时添加一个Action为android.intent.action.CREATE_LIVE_FOLDER的IntentFilter。而在这个创建实时文件夹的Activity中,我们要把实时文件夹的信息以附加信息的形式存储在一个Intent对象当中,并通过Result返回给Launcher应用程序执行添加。下表列出了与实时文件夹信息相关的附件信息的键值与数据类型。
实时文件夹的键值与数据类型
其中DISPLAY_MODE有两种,其值为1时,以栅格(Grid)形式显示展开后的实时文件夹内容,为2时则是以列表(List)形式显示。除了以上的附加信息,对于要查询数据的URI则是以Data的形式存储在Intent对象中的。由于Contacts的ContentProvider已经实现了对实时文件夹的相关支持,所以下面我们就以创建所有联系人的实时文件夹的程序来作为本节的示例。
TestActivity类
package com.ljq.activity;
import android.app.Activity;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.provider.ContactsContract;
import android.provider.LiveFolders;
public class TestActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if(getIntent().getAction().equals(LiveFolders.ACTION_CREATE_LIVE_FOLDER)){
Intent intent = new Intent();
intent.setData(Uri.parse("content://contacts/live_folders/people"));
intent.putExtra(LiveFolders.EXTRA_LIVE_FOLDER_BASE_INTENT,
new Intent(Intent.ACTION_VIEW,ContactsContract.Contacts.CONTENT_URI));
intent.putExtra(LiveFolders.EXTRA_LIVE_FOLDER_NAME, "电话本"); //快捷方式的标题
intent.putExtra(LiveFolders.EXTRA_LIVE_FOLDER_ICON,
Intent.ShortcutIconResource.fromContext(this, R.drawable.png1));//快捷方式的图标
intent.putExtra(LiveFolders.EXTRA_LIVE_FOLDER_DISPLAY_MODE, LiveFolders.DISPLAY_MODE_LIST);//显示模型
setResult(RESULT_OK, intent);
}
else{
setResult(RESULT_CANCELED);
}
finish();
}
}
清单文件
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.ljq.activity" android:versionCode="1"
android:versionName="1.0">
<application android:icon="@drawable/icon"
android:label="@string/app_name">
<activity android:name=".TestActivity"
android:label="@string/app_name">
<!-- 注意此处 -->
<intent-filter>
<action android:name="android.intent.action.CREATE_LIVE_FOLDER" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
</application>
<uses-sdk android:minSdkVersion="7" />
</manifest>
- 大小: 16.9 KB
- 大小: 73.5 KB
- 大小: 98.8 KB
- 大小: 52.3 KB
分享到:
相关推荐
实时文件夹(Live Folder)是一种在Windows操作系统中用于创建动态桌面快捷方式的技术,它能够将实时更新的内容,如网络服务、数据库查询结果或特定文件夹的实时状态,直接展示在桌面上。通过实时文件夹,用户可以...
【标题】:“Android 实时文件夹”指的是在Android操作系统中,通过特定的技术手段实现的能够实时监控并展示文件夹内变化的功能。这种功能通常用于文件管理应用或者开发工具,允许用户即时查看文件或目录的更新,...
本文实例讲述了Android实时文件夹创建方法。分享给大家供大家参考。具体如下: 实时文件夹是一种用来显示由某个ContentProvider提供的数据信息的桌面组件。要创建一个实时文件夹,必须要有两方面的支持。一方面是,...
标题“实时文件夹同步窗口服务”指的是一个设计用于在两个不同位置之间实时保持文件夹内容一致性的系统。这种服务通常采用后台运行的方式,通过监控源文件夹的更改,并即时将这些更改应用到目标文件夹,确保数据的...
总的来说,"文件夹管理工具"通过提供实时文件夹大小显示、快速查找大文件以及安全删除功能,极大地简化了磁盘管理和优化的过程。无论对于个人用户还是企业用户,它都是一款不可或缺的效率提升工具,尤其在处理大量...
2. **实时文件夹信息展示**:当用户的鼠标悬停在特定的磁盘分区或文件夹上时,FastFolders会显示有关该文件夹的信息,包括其所占用的空间大小、包含的文件数量以及子文件夹的数量等。这一功能以往通常需要通过“属性...
本项目中提到的"Qt QFileSystemWatcher实时监控文件夹,保持两个文件夹里面的文件一致"是一个使用Qt库中的QFileSystemWatcher类实现的功能,其目的是确保两个文件夹的内容始终保持同步。 QFileSystemWatcher是Qt库...
能够实时同步源文件夹的东西至目标文件夹,实时监控,还可以定时同步
### C#实现文件夹及其子文件夹和文件的复制 ...通过递归的方式可以高效地处理任何层级的文件结构,同时进度条可以让用户实时了解复制进度。这种方法非常适合用于构建文件拷贝系统或数据迁移工具等应用场景。
WIN10 文件夹不自动刷新解决方案 WIN10 操作系统中,文件夹不自动刷新的问题是一个常见的问题。这种问题可能是由于系统设置或注册表项的配置不当所引起的。在本文中,我们将详细介绍 WIN10 文件夹不自动刷新解决...
VC6.0写的复制文件夹以及子文件夹。将与exe同路径下的文件夹复制到用户指定的路径中,复制的时候进度条会实时更新(复制一个文件,进度条就走一步)。该例子中将Debug目录下的Machining Viewer文件夹复制到任意路径
在Delphi编程环境中,开发一个能够监视文件夹变动的应用程序是一项常见的需求,特别是在实时数据同步、日志跟踪或文件系统监控等场景下。本项目名为"Delphi 监视文件夹改动",提供了完整的Delphi源码,允许开发者...
它们可能会有额外的功能,如批量重定向、备份原有文件夹结构、实时同步等。 在使用Windows文件夹重定向工具时,用户需要注意以下几点: 1. **选择合适的目标位置**:确保新的目标文件夹位置有足够的存储空间,并且...
【VB.NET 文件夹实时监视程序源代码】 VB.NET(Visual Basic .NET)是微软公司推出的一种面向对象的编程语言,它是.NET框架的一部分。本源代码示例涉及的是使用VB.NET编写一个实时监视特定文件夹变化的程序。实时...
3. **实时保护**:一旦检测到对受保护文件夹的非法操作,minifilter驱动可以立即响应,比如触发警报、回滚更改或执行自定义的保护策略。 4. **透明加密**:minifilter驱动还能实现在读取文件时自动解密、写入文件时...
文件夹监控服务是一种系统功能,它允许用户或应用程序实时跟踪并记录指定文件夹中的更改。这一服务对于数据备份、版本控制、日志管理和自动化工作流程等场景尤其有用。通过设置文件夹监控,当文件被创建、修改、删除...
标题中的“新建文件夹 (3)”和“新建文件夹3流畅,matlab”可能是指一个包含多个MATLAB程序的文件夹,这些程序可能是为了实现机器人动态避障算法,特别是动态窗口法。动态窗口法是一种在实时控制系统中广泛使用的路径...
这是一个可设定时自动删除指定文件夹下文件的Winform源码和程序(已用在实际生产项目中验证),该程序只适用Windows系统环境,使用.net3.5框架开发(建议使用Visual Studio 2022打开),主要包含如下功能: ...