【问题标题】:Android Logging: Folder not created in /storage/emulated/0Android 日志记录:未在 /storage/emulated/0 中创建文件夹
【发布时间】:2015-12-04 11:50:19
【问题描述】:

我正在尝试使用 java.util.logging 在我的 android 应用程序中创建一个日志文件,但没有创建该文件夹。我不明白这个问题。 下面是代码

public class MainActivity extends AppCompatActivity {

    private static final Logger logger = Logger.getLogger(MainActivity.class.getName());

    static  {
       try {
           File storagePath = new File(Environment.getExternalStorageDirectory().getAbsolutePath() + File.separator + "TestApp");
           storagePath.mkdirs();

           boolean append = true;
           FileHandler fh = new FileHandler(storagePath + File.separator + "TestLog.log", append);
           fh.setFormatter(new SimpleFormatter());
           logger.addHandler(fh);
       } catch (IOException e) {
           e.printStackTrace();
       }
    }

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        logger.severe("my severe message");
        logger.warning("my warning message");
        logger.info("my info message");

    }
}

任何帮助将不胜感激。

【问题讨论】:

  • logcat 有什么错误吗?
  • 确保您在清单文件中添加了<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 权限。
  • 我也有同样的问题。我认为您的文件位于以下路径中。在 Eclipse 中:- 打开文件资源管理器 -> mnt -> shell -> 模拟 -> 0

标签: android java.util.logging filehandler


【解决方案1】:

我发现了问题。我正在使用 Android Marshmallow 进行测试。它要求用户授予写入外部存储目录的权限。

这个链接很有帮助:http://metova.com/dev/blog/2015/09/15/android-marshmallow-permissions/

这是一个带有教程的工作代码:http://www.learn2crack.com/2015/10/android-marshmallow-permissions.html

感谢大家的cmets。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-09-04
    • 1970-01-01
    • 1970-01-01
    • 2011-02-12
    • 2021-06-07
    • 2022-01-03
    • 2020-05-19
    • 1970-01-01
    相关资源
    最近更新 更多