Android 程式碼開啟系統自帶的檔案管理器(不是單純的獲取檔案路徑)
阿新 • • 發佈:2019-02-06
網上搜索的辦法基本上都是下面這種:
public void openFileExplorer(){
Intent intent=new Intent(Intent.ACTION_GET_CONTENT);
//系統呼叫Action屬性
intent.setType("*/*");
//設定檔案型別
intent.addCategory(Intent.CATEGORY_OPENABLE);
// 新增Category屬性
try{
startActivity(intent);
}catch (Exception e){
Toast.makeText(this, "沒有正確開啟檔案管理器", Toast.LENGTH_SHORT).show();
}
}
以上的方法開啟檔案瀏覽器,只能獲取檔案的路徑。然後返回專案之後,在onActivityResult()方法中進行操作。
因此我嘗試直接開啟系統的檔案管理app。在Android7.0上,檔案管理器是一個叫做“Downloads”的應用。
要開啟一個App,必須知道它的包名。我們可以通過adb命令獲取它的包名:
- 1.在Android裝置(7.0)上開啟需要獲取包名的App。
- 2.執行adb命令: adb shell dumpsys activity activities > temp.txt。
- 3.在電腦C盤的user目錄下開啟temp.txt檔案,就能查詢到當前應用的包名。
通過以上操作我們獲取了Downloads的包名:com.android.documentsui
public static void openOtherApp(Context context,String packagename) {
Intent intent = context.getPackageManager().getLaunchIntentForPackage(packagename);
context.startActivity(intent);
}
使用如上方法即可開啟系統自帶的檔案管理器Downloads。