相关疑难解决方法(0)

Nexus 4没有通过MTP显示文件

我正在尝试简单地将一个简单的XML文件写入SD卡,我注意到我的Nexus 4确实写了该文件,但是使用Windows 7无法通过MTP协议查看.

码:

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    CustomerQueryRqType customerQueryRequest = new CustomerQueryRqType();
    Serializer serializer = new Persister();
    File myFile = new File(Environment.getExternalStorageDirectory() + "/customerQueryRequest.xml");

    try {
        boolean created = myFile.createNewFile();
        serializer.write(customerQueryRequest, myFile);
    } catch (Exception e) {
        e.printStackTrace();
    }
}
Run Code Online (Sandbox Code Playgroud)

我可以使用Astro文件管理器在手机上看到该文件:

截图

但Windows没有看到它......:

截图

adb shell 在目录中显示:

ls -l
drwxrwxr-x root     sdcard_rw          1970-01-16 20:51 Alarms
drwxrwxr-x root     sdcard_rw          1970-01-16 20:51 Android
drwxrwxr-x root     sdcard_rw          2012-11-21 19:30 DCIM
drwxrwxr-x root     sdcard_rw          1970-01-16 20:51 Download
drwxrwxr-x root     sdcard_rw          1970-01-16 20:51 …
Run Code Online (Sandbox Code Playgroud)

android usb-drive mtp nexus-4

78
推荐指数
3
解决办法
6万
查看次数

在/ sdcard中创建目录失败

我一直在尝试以/sdcard编程方式创建一个目录,但它无法正常工作.下面的代码总是输出directory not created.

boolean success = (new File("/sdcard/map")).mkdir(); 
if (!success) {
    Log.i("directory not created", "directory not created");
} else {
    Log.i("directory created", "directory created");
}
Run Code Online (Sandbox Code Playgroud)

directory io android file

55
推荐指数
6
解决办法
10万
查看次数

Android如何使用Environment.getExternalStorageDirectory()

我如何使用Environment.getExternalStorageDirectory()从SD卡读取存储的图像或有更好的方法吗?

android sd-card

53
推荐指数
2
解决办法
14万
查看次数

使用adb刷新Android媒体库

我正在使用adb在Android手机上同步音乐.基本上,我是现有的音乐目录并推送替换音乐文件.

我希望能够使用adb强制重新扫描,以便谷歌音乐播放器(和其他应用程序)与新歌曲和播放列表一起正常工作.

根据我如何在Android上刷新MediaStore?您可以通过广播适当的意图强制重新扫描.

adb提供'shell am broadcast',这似乎允许我强制从adb重新扫描.

或者,我可以运行重新扫描应用程序或重新启动,但我想从adb触发重新扫描

我应该发出什么adb命令?音乐文件和播放列表都在/ sdcard/music中.

android adb android-mediascanner

45
推荐指数
2
解决办法
2万
查看次数

“ACTION_MEDIA_SCANNER_SCAN_FILE:String”已弃用

activity?.sendBroadcast(Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE,Uri.fromFile(copyFile)))
Run Code Online (Sandbox Code Playgroud)

我收到警告“ACTION_MEDIA_SCANNER_SCAN_FILE 已弃用。” 在上面的代码中

有简单的替换代码吗?

谢谢

kotlin android-studio

10
推荐指数
2
解决办法
6630
查看次数

Android的Media Scanner:如何删除文件?

我正在编写一个应用程序来删除可能会或可能不会列入任何一种媒体库(如音乐或图片)的文件.虽然我可以使用该MediaScannerConnection.scanFile方法文件添加到媒体库,但似乎没有任何调用通知服务该文件已被删除.向它发送不再存在的文件的路径也不会导致所需的行为.我应该如何从Android存储中不再存在的库中删除项目?

android android-mediascanner

9
推荐指数
4
解决办法
1万
查看次数

动态添加图片到图库小部件

有没有一种在运行时将新图像资源(从SD卡)添加到图库窗口小部件的好方法?

android

7
推荐指数
1
解决办法
8761
查看次数

我想阻止我的音乐播放器应用程序每次应用程序启动时扫描目录中的音频文件.我怎样才能做到这一点?

我想阻止我的音乐播放器应用程序在每次应用程序启动时扫描目录中的音频文件.我怎样才能做到这一点?

我一直在使用以下代码来扫描音频文件.

public void getSongList() {

  ContentResolver contentResolver=getContentResolver();
  Uri musicUri=android.provider.MediaStore.Audio.Media.EXTERNAL_CONTENT_URI;
  Cursor musicCursor = contentResolver.query(musicUri, null, null, null, null);
  if(musicCursor!=null && musicCursor.moveToFirst()) {
    //get columns
    int titleColumn = musicCursor.getColumnIndex
                (android.provider.MediaStore.Audio.Media.TITLE);
    int idColumn = musicCursor.getColumnIndex
                (android.provider.MediaStore.Audio.Media._ID);
    int artistColumn = musicCursor.getColumnIndex
                (android.provider.MediaStore.Audio.Media.ARTIST);

    int albumIDColumn = musicCursor.getColumnIndex(MediaStore.Audio.Media.ALBUM_ID);

    //add songs to list
    do {
       long thisId = musicCursor.getLong(idColumn);
       String thisTitle = musicCursor.getString(titleColumn);
       String thisArtist = musicCursor.getString(artistColumn);
       long thisAlbumID=musicCursor.getLong(albumIDColumn);
       Uri sArtworkUri = Uri.parse("content://media/external/audio/albumart");
       Bitmap albumArtBitMap=null;
       Uri albumArtUri = ContentUris.withAppendedId(sArtworkUri, thisAlbumID);
       try {
         albumArtBitMap = MediaStore.Images.Media.getBitmap(this.getContentResolver(), albumArtUri); …
Run Code Online (Sandbox Code Playgroud)

audio android audio-player android-mediaplayer

7
推荐指数
1
解决办法
623
查看次数

删除时未删除的文件仍显示在 Listview 中

我制作了一个程序,该程序使用存储在设备上的视频填充列表视图并播放它们。它还尝试使用 file.delete 函数来实现删除文件的功能。但是,使用 notifydatasetchange() 函数后,该文件仍显示在列表视图中。此外,我刚刚注意到视频文件已从 DCIM 文件夹中删除;但是,它显示在设备的图库中,但是当您单击它时,无法播放.. 这是我向用户显示对话框的部分代码,当用户单击 Yes 时,然后执行删除功能。

DialogInterface.OnClickListener dialogClickListener = new DialogInterface.OnClickListener() {
                public void onClick(DialogInterface dialog, int which) {
                    switch (which){
                    case DialogInterface.BUTTON_POSITIVE:

                         file.delete();
                         adapter.notifyDataSetChanged();
                         //list.setAdapter(adapter);
                         break;

                    case DialogInterface.BUTTON_NEGATIVE:
                        image2.setImageResource(R.drawable.play);
                        flag.setText("play");
                        //No button clicked
                        break;
                    }
                }
            };

            AlertDialog.Builder builder = new AlertDialog.Builder(this);
            builder.setMessage("This Item will be Deleted\nAre you sure?").setPositiveButton("Yes", dialogClickListener)
                .setNegativeButton("No", dialogClickListener).show();


        }// else closes 
Run Code Online (Sandbox Code Playgroud)

我不明白为什么会这样。有什么有用的建议请...

video android listview mediastore delete-file

5
推荐指数
1
解决办法
2436
查看次数

在图库android中保存图像

我正在使用此代码保存图像:

URL url = null;
            try {
                url = new URL("image");
            } catch (MalformedURLException e1) {
                e1.printStackTrace();
            }
            Bitmap bmp = null;
            try {
                bmp = BitmapFactory.decodeStream(url.openConnection().getInputStream());
            } catch (IOException e1) {
                e1.printStackTrace();
            }
            OutputStream output;
            File filepath = Environment.getExternalStorageDirectory();
            File dir = new File(filepath.getAbsolutePath() + "/folder name/");
            dir.mkdirs();
            File file = new File(dir, image + ".png");
            Toast.makeText(HomeActivity.this, "Image Saved to SD Card", Toast.LENGTH_SHORT).show();
            try {

                output = new FileOutputStream(file);
                bmp.compress(Bitmap.CompressFormat.PNG, 100, output);
                output.flush();
                output.close();

            }

            catch (Exception e) { …
Run Code Online (Sandbox Code Playgroud)

android gallery

5
推荐指数
2
解决办法
9960
查看次数