2011-09-21 59 views
3

我想我的android應用程序能夠通過藍牙,電子郵件,wifi直接等共享文件(標準共享方法)。我想將我的數據解析爲帶有自定義擴展名的文件,並通過藍牙等共享方式發送。收件人應該能夠打開文件,然後我的應用程序啓動並處理文件。在互聯網上搜索和總結,有沒有人知道任何有關這個教程的好網站?或者也許有關於這個話題的任何閱讀材料Android定製文件擴展

回答

4

哈!我最初似乎在這次搜索中幹了些事,但我的堅持終於拉開了。

Android intent filter: associate app with file extension

所以,他們做了什麼就在這裏被設置在manifest.xml文件,使您的應用程序打開這些類型的文件的intent-filter。在你的情況,我會懷疑你的代碼會是這個樣子

<intent-filter android:icon="drawable resource" 
       android:label="string resource" 
       android:priority="integer"> 
    <action android:name="android.intent.action.VIEW" /> 
    <category android:name="android.intent.category.DEFAULT" /> 
    <data android:scheme="file" /> 
    <data android:host="*" /> 
    <data android:pathPattern=".*\\.CUSTOM_FILE_EXTENSION" /> 
</intent-filter> 

我相信,文件瀏覽器將能夠獲得從意向代碼的那部分顯示的圖標。但我不知道太多關於這一點,所以不要引用我就可以了:P

編輯:此意圖過濾器應該去活動/服務/接收器將要處理自定義文件裏面用戶正在打開。

+0

嗨鮑勃,謝謝你的意見。對不起,但是你把它放在活動/服務/接收器中是什麼意思? –

+0

哦,我只是指Android Manifest文件中的位置。對不起,當我寫回應時,我有點昏昏欲睡,所以我沒有注意到我的「clarifaction」是多麼的不清楚。 :D http://developer.android.com/guide/topics/manifest/manifest-intro.html多數民衆贊成那將告訴你在哪裏把東西放在清單文件中的頁面 – Bob

+2

我遇到了問題實現這一點。如果我將此代碼粘貼到清單的主要活動標記中,並將其更改爲我的自定義擴展名,請使用root explorer轉到具有該自定義擴展名的文件...在其上執行任何操作......思考? – Nick