今夜、私は簡単だと思っていた何かをしている問題を抱えています.../mnt/sdcardにフォルダを作成します。
フォロー許可を設定しました:
<uses-permission Android:name="Android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission>
ぼくの Main.Java
には、フォルダーを作成する次のものが含まれています。
public class Main extends TabActivity {
static int index = 1;
private static final String TAG = "Main";
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
File folder = new File(Environment.getExternalStorageDirectory () + "/tallgrass/images");
boolean success = false;
if(!folder.exists()){
success = folder.mkdir();
}
if (!success){
Log.d(TAG,"Folder not created.");
}
else{
Log.d(TAG,"Folder created!");
}
}
「フォルダが作成されました!」ログにメッセージが表示されますが、両方を確認すると/mnt/sdcard
および/sdcard
どちらにもフォルダがありません。私は電話してみました:
Environment.MEDIA_MOUNTED.equals(Environment.getExternalStorageState())
そしてそれはtrueを返します。すべての兆候が機能していることを示しているため、これを理解することはできません。また、開発用にエミュレータではなく携帯電話を使用しているため、SDカードがマウントされていたり、何かが発生した場合に備えて、携帯電話をPCから取り外して試してみました。とはいえ、debuggable
からtrue
はフォルダの作成を妨げているのでしょうか?
ありがとう!
_/mnt/sdcard/tallgrass/
_ディレクトリは存在しますか? (私はそうは思いませんが、あなたは決して知りません。)
File.mkdirs()
メソッドは、必要なすべてのディレクトリを作成します。 mkdir()
は、パス名にlastディレクトリのみを作成します。
次のようにして、アクセス許可をどこに置くかを確認します。
<manifest xmlns:Android="http://schemas.Android.com/apk/res/Android"
package="edu.una.info.app">
<uses-permission Android:name="Android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission Android:name="Android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission Android:name="Android.permission.CALL_PHONE" />
<application Android:allowBackup="true"
Android:label="@string/app_name"
Android:icon="@drawable/ic_launcher"
Android:theme="@style/AppTheme">
<activity
Android:name="edu.una.info.SplashScreenActivity"