android讀取sd卡文件
A. 如何在 Android 5.0 上獲取 SD卡 的讀寫許可權
1.首先請安裝「Root Explorer」這個app,它可以在已ROOT的手機中管理隱藏的系統核心檔案。 2.安裝完成並晌掘開啟Root Explorer以後,展開「/system/etc/permissions/」路徑,然後在「platform.xml」上長按。 3.跳出「Options」選單以後,先按一下「Permissions」,祥肢我們要更改檔案的許可權才能寫入文字。 4.此時會跳出一個警告訊息,告知你目前系統內的檔案為唯讀模式謹謹世,需先更改為讀寫模式,按下「Yes」即可更改。 5.更改完成以後,將「Read」、「Write」、「Execute」項目都勾起來,然後按一下「OK」。 6.許可權更改完成以後,再次在「platform.xml」上長按一次。 7.跳出「Options」選單以後,這次我們點擊「Open With」,選擇用哪個app開啟此檔案。 8.看到顯示了一堆app,我們選擇用「Text Viewer」來開啟,如果讀者們有其他的文字編輯app,也可以用它來開啟。 9.找到以下兩段文字以後,將內容改成跟底下一樣: <permission name="android.permission.WRITE_EXTERNAL_STORAGE" > <group gid="sdcard_r" /> <group gid="sdcard_rw" /> <group gid="media_rw" /> </permission> <permission name="android.permission.WRITE_MEDIA_STORAGE" > <group gid="sdcard_rw" /> <group gid="media_rw" /> </permission> 10.更改完成以後,點擊一下叫出選單,點擊「Save Changes」儲存更改,然後離開即可。 11.儲存成功以後,可以看到資料夾中多了一個「platform.xml.bak」檔案,往後要還原時,只要將「platform.xml」刪除,然後把「platform.xml.bak」更改回原來名稱即可。 12.最後重新開啟手機,即可讓設定生效羅! NOTE: 坊間已經有直接可以修改SD卡寫入許可權的app出現,但因為安全因素,我們還是自行手動修改比較安全。
B. 請問手機系統安卓無法讀取sd卡如何解決
1、請先檢查有沒有安裝Android手機對應的的USB驅動,使用360手機助手都會自動幫你裝上手機驅動,且驅動正確安裝;
2、查看手機設置-應用程序-未知來源是否勾選,否則就會導致有些非電子市場提供的應用程序無法安裝;
3、在設置-開發-允許模擬地點上打鉤;
4、【儲存模式】連接電腦或者用RootExplorer找到SD卡目錄下的.android_secure文件夾,裡面應該會有一個smdl2tmp1.asec,也可能是其他名稱,總之與正常程序命名格式明顯不一樣的文件,刪除,再次安裝軟體;
或用終端虛擬機刪除/mnt/secure/asec/smdl2tmp1.asec(驅動器模式下是:可移動磁碟/.android_secure/smdl2tmp1.asec),再安裝即可;
5、用RE瀏覽器搜索程序相關關鍵字,把找到的相關文件和目錄全部刪除,然後重啟再安裝程序;
6、如有過備份,打開鈦備份,找到相關軟體,還原:選擇程序+數據,或單獨選擇還原程序;
7、用系統自帶的程序管理查看SD卡上的程序,有的程序沒有彩色圖標的,這些沒有圖標的軟體就是以前一些沒有正確安裝或者卸載不完全軟體數據,如果你再次安裝就會報錯,用系統自帶的軟體管理把它們卸載干凈,再次安裝軟體時就不會出錯了;
8、升級已安裝的程序時提示「應用程序未安裝」少部分軟體升級時會出現,只能卸載掉舊版本,再安裝新版本;
9、手機連接電腦然後打開360手機助手,隨便安裝一個應用程序,選擇安裝路徑為手機內存;
10、還有一部分因為軟體簽名更改了,所以不能覆蓋安裝,直接刪除重新安裝新的版本即可;
11、1)首先下載應用程序的APK安裝包放到SD卡里;
2)、將APK文件改名為com.xxx.xxx.apk的形式(對比系統APP目錄下的文件名做的改動);
3)、用有Root許可權的RE瀏覽器將卡內的APK文件移動或復制到系統目錄內的APP目錄下(就是你能看到其他應用程序圖標的那個目錄);
4)、找到你復制過來的APK文件,長按調出菜單選「許可權」,對照下圖勾選相應的許可權並確定;
C. Android手機讀取U盤(SD卡)照片
近來無事,突發奇想,自己研究下怎樣通過手機來讀取旅遊時拍的照片。
因為本身各大手機上自己就可以通過OTA功能讀取U盤照片到手機中,但是還是想自己寫個DEMO看看,發現一個問題,就是目前fat32格式的協議是免費的。其他格式收費。
項目主要是參考了 https://github.com/LuoChen-Hao/BlackHaoUtil 這個項目來的,只是改了支持androidx 項目讀卡器的功能參考了 https://github.com/magnusja/libaums 這個庫來的,如果想更多關注讀卡器功能,請去了解這個庫,目前只支持fat32格式的存儲卡。
目前我這邊也只是研究了一下,做了個基本demo
github地址:https://github.com/shenqinwei/OTG_androidx
D. Android 6.0 讀寫SD卡許可權問題
Android 6.0 下默認存儲SD卡,使用原生FMRadio生成的文件保存到內部存儲中
【預置條件】插入T卡【操作步驟】設置>存儲設備和USB>選擇SD卡為默認存儲>收音機錄音【實際結果】收音機的錄音文件未保存到T卡【預期結果】收音機的錄音文件保存到T卡【復現概率】10/10
此外,SoundRecorder默認存儲SD卡,生成的文件卻可以保存到SD卡中
1、收音機文件沒有保存到指定的SD卡目錄下,因此可能是文件的路徑不對。
2、進入設置中,切換默認存儲位置,內部存儲或者SD卡,每次切換都會修改系統中某一屬性值。
3、當收音機文件保存的時候,必須要讀取當前系統的默認存儲路徑,然後生成自己的文件路徑。
STEP1、初步解決方案,但沒有生效,引入新問題
對比 SoundRecorder ,根據GIT庫中,之前的同事的修改記錄,找到可能的解決方案,修改如下:
引入新的問題,此時,點擊 Start Recording 會提示內部錯誤。
分析Log發現,由於許可權拒絕,拋出IO異常
01-01 07:35:38.167 7467 7467 W System.err: java.io .IOException: open failed: EACCES (Permission denied)
STEP2、Android M 下SD卡讀寫許可權問題
分析由於許可權問題後,結合Android M new design,開始查找文檔,尋找解決Android M 下SD卡讀寫許可權問題
Android6.0中的運行時請求許可權
後來,試了好幾種方法,但都沒有用,以及報問題「EACCES (Permission denied)」
STEP3、再分析可能是運行時許可權問題
判斷APP運行時許可權如下:
發現此時,FMRadio對於的組許可權如下:
com.android.fmradio Groups: 1013 3002 3003 9997 50010
com.android.soundrecorder Groups: 1015 1023 3003 9997 50105
根據 系統許可權 的定義,有興趣的同學可以去看一下這個文件 system/core/include/private/android_filesystem_config.h
分析這些Gid發現:
1015 為sdcard_rw,1023 為media_rw許可權
因此,得出結論如下
1、首先修改AndroidManifest.xml文件,新增許可權,確保FMRadio應用級的許可權;
2、原生FMRadio使用過程中,會進行運行時的許可權檢查,故FMRadio運行時應該拿到了WRITE_EXTERNAL_STORAGE,以及READ_EXTERNAL_STORAGE許可權,
3、但是由於FMRadio本身不具備「1015,1023」組許可權,這些許可權無效,仍然無法對SD卡進行讀寫操作。
STEP4、最終解決方案
在 STEP1 的修改基礎上,在框架層,許可權對應組中給予FMRadio相應的組許可權,新增修改如下:
frameworks/base/data/etc/platform.xml
重編framework.jar, 將修改後的jar文件push到手機,重啟
此時,再檢查FMRadio對於的組許可權如下:
com.android.fmradio Groups: 1013** 1015 1023** 3002 3003 9997 50010
到此為止,
E. android如何讀取sd卡的圖片並顯示
首先你要在AndroidManifest.xml申請讀取sdcard的許可權
<uses-permissionandroid:name="android.permission.WRITE_EXTERNAL_STORAGE"/><!--向SDCard寫入數據許可權-->
關鍵代碼:
packagecom.sdcardread;
importjava.io.File;
importandroid.os.Bundle;
importandroid.os.Environment;
importandroid.widget.ImageView;
importandroid.widget.LinearLayout;
importandroid.widget.TextView;
importandroid.app.Activity;
importandroid.graphics.Bitmap;
importandroid.graphics.BitmapFactory;
{
privateTextViewtextView1;
;
@Override
protectedvoidonCreate(BundlesavedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
textView1=(TextView)findViewById(R.id.textView1);
linearLayout1=(LinearLayout)findViewById(R.id.linearLayout1);
booleanisSdCardExist=Environment.getExternalStorageState().equals(
Environment.MEDIA_MOUNTED);//判斷sdcard是否存在
if(isSdCardExist){
Stringsdpath=Environment.getExternalStorageDirectory()
.getAbsolutePath();//獲取sdcard的根路徑
textView1.setText("sd卡是存在的。以下是sdcard下的img25.jpg!");
Stringfilepath=sdpath+File.separator+"img25.jpg";
Filefile=newFile(filepath);
ImageViewimageView=newImageView(this);//創建一個imageView對象
if(file.exists()){
Bitmapbm=BitmapFactory.decodeFile(filepath);
//將圖片顯示到ImageView中
imageView.setImageBitmap(bm);
linearLayout1.addView(imageView);
}
}else{
textView1.setText("sd卡不存在!");
}
}
}
F. android開發,怎麼讀取SD卡裡面的TXT文件介紹一下思路,有代碼的更好,感謝!!
StringBuffer sb = new StringBuffer();
File file = new File("myfile.txt");
BufferedReader br = new BufferedReader(new FileReader(file));
String line = "";
while((line = br.readLine())!=null){
sb.append(line);
}
br.close();
(TextView)findViewById(R.id.text1).setText(sb.toString());
第二行,創建文件對象,指向需要讀取的文件
第三行,創建文件Reader對象,讀取指定的文件
第四五行,創建一個line接受讀取的文件內容,因為是文本文件,所以一行一行讀
第八行,關閉文件讀取對象
第九行,將文本文件內容寫入到TextVIew中
G. android怎麼獲sd卡內的所有文件目錄
android程序獲取SD卡目錄的方法如下:
手機通過數據線連接電腦端,在計算機里會顯示兩個磁碟,一個是系統內存,另外一個就是SD卡內存,打開SD卡就可以找到文件目錄。
也可以通過手機查找,打開手機應用程序,點擊文件管理打開,然後打開所有文件。
接著打開」extSdCard「文件夾就是SD卡里的目錄了。
H. 如何在 Android 5.0 上獲取 SD卡 的讀寫許可權
論壇有朋友發過了,我復制的 添加外置存儲卡的寫入許可權。前提是手機必須Root。 1、R.E管理器掛載為讀寫,打開/system/etc/permissions目錄,找到platform.xml文件,勾選,晌猛然後在…菜單中選擇「在文本編輯器中打開」。 2、查找代碼: <permission name="android.permission.WRITE_EXTERNAL_STORAGE" > <group gid="sdcard_r" /> <group gid="sdcard_rw" /> </permission> 將之改為: <permission name="android.permission.WRITE_EXTERNAL_STORAGE" > <group gid="sdcard_r" /> <group gid="sdcard_rw" /> <group gid="media_rw" /> </permission> (注意:段顫攔首對齊,"media_rw"和/>之間有空格。或可復制上一行茄謹胡代碼進行修改。) 然後保存退出。
I. 安卓手機如何讀取外置sd卡
系統會自動讀取插入的外置sd卡里的文件內容,你打開手機的文件管理器,在文件類型欄里點任意一種類型,比如視頻,你就能看到sd卡里所有的視頻文件了。