0

2 GB の内部メモリと 8 GB の外部メモリが使用可能な Android セットアップ ボックスがあり、デバイスには USB デバイスを接続するためのスロットがあります。接続されている USB デバイスのメモリ情報を取得したかったのです。複数の USB デバイスを接続したとします。Broadcast Receiver を使用して接続切断イベントを取得しています。しかし、取得できないメモリ情報を取得したい場合。内蔵の外部メモリ情報しか取得できません ガイドしてください。

私はアンドロイド開発に非常に慣れていません。私はこの方法を試しました

 private void sizeInfo(){
    File path = Environment.getDataDirectory();
    StatFs stat2 = new StatFs(path.getPath());
    long blockSize = stat2.getBlockSize();
    long availableBlocks = stat2.getAvailableBlocks();
    String format =  Formatter.formatFileSize(this, availableBlocks * blockSize);
  //  Log.d("space","Path : "+ path +"\n");
    Log.d("space","Available Space in GB : "+ format);
    String str = Environment.getExternalStorageState();
    //Log.d("Checking","Media "+Environment.isExternalStorageEmulated());
}

次のようにして、接続されているデバイスのリストを取得しています

    private void updateDeviceList() {
    Log.d("Checking","updateDeviceList function");
    int DivCount =0;
    HashMap<String, UsbDevice> connectedDevices = mUsbManager.getDeviceList();
    if (connectedDevices.isEmpty()) {
        usbDevice = null;
        Log.d("Checking", "No Currently Device Conneted");

    } else {
        for (UsbDevice device : connectedDevices.values()) {
                DivCount++;
                Log.d("Device Info","DeviceId " +device.getDeviceId()+"\n");
                Log.d("Device Info","ProductId "+device.getProductId()+"\n");
                Log.d("Device Info","DeviceName "+device.getDeviceName()+"\n");
                Log.d("Device Info","DeviceClass "+device.getDeviceClass());
                String str = Build.MANUFACTURER;
                Log.d("Device Info","Model "+str);
                usbDevice =device;
                sizeInfo();
        }
    }
}

接続されているデバイスのリストを取得できますが、リムーバブル USB のメモリ情報を取得できません

4

0 に答える 0