android 呼叫系統指定的程式開啟對應的檔案

2021-10-03 12:06:13 字數 2210 閱讀 6110

android 呼叫系統指定的程式開啟對應的檔案

// filename = android開發者大賽.doc

string filepath =

getactivity()

.getexternalfilesdir

(null)

+ file.separator + filename;

// 先判斷該檔案是否存在

file file =

newfile

(filepath);if

(file.

exists()

)else

/** * 開啟檔案的方法

*/private

void

openfile

(string filepath)

/** * 根據檔案字尾名獲取檔案的mime

*/private string getfilemimetype

(file file)

// 獲取檔案的字尾名

string end = filename.

substring

(dotindex, filename.

length()

).tolowercase()

;if(end =="")

return type;

// 在mime和檔案型別的匹配表中找到對應的mime型別

for(int i =

0; i < mime_maptable.length; i++

)return type;

}/**

* 檔案字尾名對應的mime

*/private

final string[

] mime_maptable =,,

,,,,

,,,,

,,,,

,,,,

,,,,

,,,,

,,,,

,,,,

,,,,

,,,,

,,,,

,,,,

,,,,

,,,,

,,,,

,,,}

;// 解決android 7.0 檔案許可權問題//

1.在res目錄下新建目錄xml, 在xml資料夾裡新建乙個 provider_paths.xml 檔案, 檔案內容如下(不要改動, 否則可能出現檔案開啟讀取不到問題)

<

?xml version=

"1.0" encoding=

"utf-8"

?>

"root" path=""/

>

"name" path=

"path"

/>

"name" path=

"path"

/>

"name" path=

"path"

/>

"name" path=

"path"

/>

"name" path=

"path"

/>

<

/paths>//

2.在清單檔案中增加 provider 節點, 內容如下:

android:name=

"android.support.v4.content.fileprovider"

android:authorities=

"包名.provider"

android:exported=

"false"

android:granturipermissions=

"true"

>

android:name=

"android.support.file_provider_paths"

android:resource=

"@xml/provider_paths"

/>

<

/provider>//

3.呼叫方法:

// 獲取uri, 注意: 這裡的"包名.provider"要和 provider 中定義的一致;

uri uri = fileprovider.

geturiforfile

(getcontext()

,"包名.provider"

,new

file

(filepath)

);

Android 呼叫系統dialog

前幾天由於專案中要用到dialog,看了一下系統的dialog,發現符合公司需要,因此剛好寫了下來。在此記錄並分享一下。private void shownormaldialog 建立並顯示 normaldialog.create show 彈出評價短語 param pjdybeans public...

Android 呼叫系統Camera

在android中應用相機功能,一般有兩種 一種是直接呼叫系統相機,一種自己寫的相機。我將分別演示兩種方式的使用 第一種 是使用intent跳轉到系統相機,action為 android.media.action.still image camera import import android.co...

在Delphi開發的服務中呼叫指定應用程式

在很多時候,我們需要使用 服務啟動指定的應用程 序來做到隱蔽啟動程式的目的。但是當我們直接使用winexec來執行的時候,你會發現系統提示出錯。以下的 就是如何在 delphi編寫的服務中啟動指定的應用程式 function runprocess const processname string b...