October 13, 2011

檔案的備份還原

好吧,我想這個應該還沒寫過才對。

之前在做myPocket的時候就有遇到,需要將匯出的檔案備份至dropbox或email等其他位置。當時是加入底下的code即可。

Intent DBIntent = new Intent(android.content.Intent.ACTION_SEND);
DBIntent.putExtra(Intent.EXTRA_STREAM, Uri.fromFile(new File(aPath)));
DBIntent.setType("text/*");
DBIntent.setPackage("com.dropbox.android");  //指定要給特定package
startActivity(DBIntent);

但如果只有這樣,如果要從email把檔案還原回來就不知道該怎麼做了對吧。

其實只要在Manifest.xml對應的activity加入底下的intent filter即可。

<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:mimeType="*/*" />
<data android:pathPattern="*.*\\.key" /> //指定特定附檔名
</intent-filter>


以.key的特殊附檔名來說,如果點下載,會直接到myPocket來。
(因為本機沒有其他支援的app)

 如果點選預覽,則會出現列表讓user選擇。

0 Comments: