桌面文件夹——电话薄的小案例:
public class FoldersActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// setContentView(R.layout.main);
// 判断是否创建实时文件夹
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_CALL,
Contacts.People.CONTENT_URI));
// 设置实时文件夹的名字
intent.putExtra(LiveFolders.EXTRA_LIVE_FOLDER_NAME, "电话薄");
// 设置实时文件夹的图标
intent.putExtra(LiveFolders.EXTRA_LIVE_FOLDER_ICON,
Intent.ShortcutIconResource.fromContext(this,
R.drawable.folder));
// 设置显示模式为列表
intent.putExtra(LiveFolders.EXTRA_LIVE_FOLDER_DISPLAY_MODE,
LiveFolders.DISPLAY_MODE_LIST);
// 完成
setResult(RESULT_OK, intent);
} else {
setResult(RESULT_CANCELED);
}
finish();
}
}
然后在mainfest.xml中注册是添加action动作
<application
android:icon="@drawable/folder"
android:label="@string/app_name" >
<activity
android:label="@string/app_name"
android:name=".FoldersActivity" >
<intent-filter >
<action android:name="android.intent.action.MAIN" />
<action android:name="android.intent.action.CREATE_LIVE_FOLDER" />
<action android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>