Android APK 安裝 更新問題

2021-07-26 17:54:49 字數 1030 閱讀 7053

intent intents = new intent();

intent.setaction(intent.action_view);(重點一)

intents.addcategory("android.intent.category.default");

intents.setdata(uri);(uri: 檔案路徑 重點二)

intents.setflags(intent.flag_activity_new_task);

startactivity(intents);

2, 6.0之後,部分系統呼叫此方法會報錯,關鍵原因是6.0下不識別重點一這個action,後來在網上查到乙個解決方法:呼叫系統去開啟apk檔案,系統在開啟這個檔案時,會自動根據檔案型別來選擇相應的開啟方法,比如在window系統下雙擊開啟txt檔案、word檔案,系統會自動呼叫寫字板、office等等,這樣就可避開上述問題。

關鍵**如下:

public void openfile(context context,file file)

public string getmimetype(file file)

檔案路徑一般為"file://"開頭,而7.0下,android 框架執行的 strictmode,api 禁止向您的應用外公開 file://uri;若一定要共享,那麼採用"content://"uri,並授予 uri 臨時訪問許可權。

為了獲取正常的可訪問位址,採用了新的 fileprovider類。

呈現到**裡,重點如下:

if (build.version.sdk_int >= 24) catch (exception e)

intent.addflags(intent.flag_grant_read_uri_permission); //授予臨時許可權

intent.setdataandtype(uri, mimetype);

} else

其他部分與(2)相同,這樣,在7.0下就可以正常安裝了。

關於fileprovider的使用及注意事項可參考 這個說的就比較詳細。

Android Apk安裝簡訴

系統自帶的應用程式,無法刪除 使用者程式安裝的目錄,有刪除許可權。安裝時把apk檔案複製到此目錄 data data 存放應用程式的資料 data dalvik cache 將apk中的dex檔案安裝到dalvik cache目錄下 dex檔案是dalvik虛擬機器的可執行檔案,其大小約為原始apk...

Android APK 安裝(相容8 0)

由於android7.0開始,對許可權控制加強,apk安裝方法也有了一些變化,接下來直接進入到 講解 kotlin fun installapk path string,mcontext activity val intent intent intent.action view if build.v...

android apk包過大安裝失敗

在將adt和sdk tool公升級到最新 分別是21.1和16.0.1 之後,我的乙個工程 相對比較大 在編譯並執行的時候,出現錯誤,eclipse控制台輸出如下資訊 unable to execute dex cannot merge new index 67208 into a non jumb...