Android實時文件夾創(chuàng)建方法
本文實例講述了Android實時文件夾創(chuàng)建方法。分享給大家供大家參考。具體如下:
實時文件夾是一種用來顯示由某個ContentProvider提供的數(shù)據(jù)信息的桌面組件。要創(chuàng)建一個實時文件夾,必須要有兩方面的支持。一方面是,要定義一個用來創(chuàng)建實時文件夾的Activity。另一方面是,所指定數(shù)據(jù)信息URI的ContentProvider必須支持實時文件夾的查詢。本節(jié)中就將要介紹如何為應用程序創(chuàng)建實時文件夾。
與在Launcher的桌面上添加一個快捷方式類似,用戶在桌面上長按后選擇實時文件夾就會彈出一個可用實時文件夾的列表對話框。若我們想把自己應用程序內的Activity也添加到這一列表中,同樣只需要在該Activity注冊時添加一個Action為android.intent.action.CREATE_LIVE_FOLDER的IntentFilter。而在這個創(chuàng)建實時文件夾的Activity中,我們要把實時文件夾的信息以附加信息的形式存儲在一個Intent對象當中,并通過Result返回給Launcher應用程序執(zhí)行添加。下表列出了與實時文件夾信息相關的附件信息的鍵值與數(shù)據(jù)類型。
實時文件夾的鍵值與數(shù)據(jù)類型
其中DISPLAY_MODE有兩種,其值為1時,以柵格(Grid)形式顯示展開后的實時文件夾內容,為2時則是以列表(List)形式顯示。除了以上的附加信息,對于要查詢數(shù)據(jù)的URI則是以Data的形式存儲在Intent對象中的。由于Contacts的ContentProvider已經實現(xiàn)了對實時文件夾的相關支持,所以下面我們就以創(chuàng)建所有聯(lián)系人的實時文件夾的程序來作為本節(jié)的示例。
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>
運行結果
希望本文所述對大家的Android程序設計有所幫助。
相關文章
Android編程將Activity背景設置為墻紙的簡單實現(xiàn)方法
這篇文章主要介紹了Android編程將Activity背景設置為墻紙的簡單實現(xiàn)方法,涉及Android簡單的屬性設置及XML配置修改等相關技巧,具有一定參考借鑒價值,需要的朋友可以參考下2015-10-10超簡單Android集成華為HMS Scankit 掃碼SDK實現(xiàn)掃一掃二維碼
這篇文章主要介紹了超簡單Android集成華為HMS Scankit 掃碼SDK實現(xiàn)掃一掃二維碼,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-03-03Android自定義HorizontalScrollView實現(xiàn)qq側滑菜單
本文主要介紹了android自定義HorizontalScrollView實現(xiàn)qq側滑菜單的相關知識。具有很好的參考價值。下面跟著小編一起來看下吧2017-04-04Android?AccessibilityService?事件分發(fā)原理分析總結
這篇文章主要介紹了Android?AccessibilityService?事件分發(fā)原理分析總結,AccessibilityService有很多用來接收外部調用事件變化的方法,這些方法封裝在內部接口Callbacks中,文章圍繞AccessibilityService相關資料展開詳情,需要的朋友可以參考一下2022-06-06