using Android.App;
using Android.Widget;
using Android.OS;
using System.Runtime.InteropServices; namespace App2
{
[Activity(Label = "App2", MainLauncher = true, Icon = "@drawable/icon")]
public class MainActivity : Activity
{
[DllImport("TestDynamicSharedLib.so")]
public extern static int getClickCount(); protected override void OnCreate(Bundle bundle)
{
var c = getClickCount(); string folderPath = Android.OS.Environment.ExternalStorageDirectory.AbsolutePath;
printAllSubFiles(folderPath); base.OnCreate(bundle); // Set our view from the "main" layout resource
// SetContentView (Resource.Layout.Main);
} void printAllSubFiles(string path)
{
System.Diagnostics.Debug.Print("dir:" + path); var dir = new System.IO.DirectoryInfo(path); try
{
foreach (var f in dir.GetFiles())
{
System.Diagnostics.Debug.Print("file:" + f.FullName);
}
}
catch
{
//throw;
} try
{
foreach (var d in dir.GetDirectories())
{
printAllSubFiles(d.FullName);
}
}
catch (System.Exception)
{
//throw;
} }
}
}

如果是android 6.0 以上系统,须代码主动申请权限,此时需要Android.Support.v4。

nuget command : Install-Package Xamarin.Android.Support.v4 -Version 28.0.0.1

void checkPermission(string permissionName)
{
if (Android.Support.V4.App.ActivityCompat.CheckSelfPermission(this, permissionName)
!= (int)Android.Content.PM.Permission.Granted)
{
//用户已经拒绝过一次,再次弹出权限申请对话框需要给用户一个解释
if (Android.Support.V4.App.ActivityCompat.ShouldShowRequestPermissionRationale(this, permissionName))
Toast.MakeText(this, "请开通相关权限,否则无法正常使用本应用!", ToastLength.Short).Show(); //申请权限
Android.Support.V4.App.ActivityCompat.RequestPermissions(this, new String[] { permissionName }, );
Toast.MakeText(this, "请开通相关权限,否则可能无法正常使用本应用!", ToastLength.Short);
}
else
{
Toast.MakeText(this, "授权成功!", ToastLength.Short);
}
} 调用: checkPermission(Android.Manifest.Permission.ReadExternalStorage);
checkPermission(Android.Manifest.Permission.WriteExternalStorage);

c# 枚举安卓系统中所有目录及文件名的更多相关文章

  1. dirname basename 截取路径中的目录以及文件名

    dirname basename    截取路径中的目录以及文件名 windows 下面: #include "shlwapi.h"#pragma comment(lib, &qu ...

  2. Linux系统中各目录的作用

    /binbin是binary的缩写.这个目录沿袭了UNIX系统的结构,存放着使用者最经常使用的命令.例如cp.ls.cat,等等. /boot这里存放的是启动Linux时使用的一些核心文件. /dev ...

  3. 在Linux和Windows系统中输出目录结构

    前言 一直以来就想在写文章时,能以文本形式(而不是截图)附上项目的目录结构,今天终于知道怎么操作了,在这分享一下. Linux 首先说下Linux上输出目录结构的方法. yum安装tree 需要支持t ...

  4. 用户管理 之 Linux 系统中的超级权限的控制

    在Linux操作系统中,root的权限是最高的,也被称为超级权限的拥有者.普通用户无法执行的操作,root用户都能完成,所以也被称之为超级管理用户. 在系统中,每个文件.目录和进程,都归属于某一个用户 ...

  5. Delphi 调用系统中的计算器、记事本、画图软件方法

    1.直接调用    前面uses加 ShellAPI ShellExecute(Handle, 'open', PChar('calc.exe'), nil, nil, SW_SHOW); 2.直接调 ...

  6. linux系统中文件的几种类型

    Linux系统是以文件的形式来进行管理的.Linux文件类型常见的有:普通文件.目录.字符设备文件.块设备文件.符号链接文件等,如果想了解这方面知识的弟兄,就进来了解了解. Linux系统不同于win ...

  7. Java生鲜电商平台-生鲜系统中商品订单系统售后系统设计

    Java生鲜电商平台-生鲜系统中商品订单系统售后系统设计(服务订单履约系统) 说明: 电商之下,我们几乎能从电商平台上买到任何我们日常需要的商品,但是对于很多商品来说,用户购买发货后,只是整个交易流程 ...

  8. 【转】Android系统中Fastboot和Recovery所扮演的角色。

    Android 刷机过程中 Fastboot 和 Recovery 的作用是什么? 自己在知乎的一篇回答,,现在翻出来放到博客,希望可以解答更多人的疑惑,抑或有什么理解上的错误,也望网友指出~ 今天恰 ...

  9. Windows下USB磁盘开发系列二:枚举系统中所有USB设备

    上篇 <Windows下USB磁盘开发系列一:枚举系统中U盘的盘符>介绍了很简单的获取系统U盘盘符的办法,现在介绍下如何枚举系统中所有USB设备(不光是U盘). 主要调用的API如下: 1 ...

随机推荐

  1. Spring事务操作介绍

    Spring的特色之一,简单而强大的事务管理功能,包括编程式事务和声明式事务. 1. Spring中涉及到事务管理的API有100多个,核心的只有三个: TransactionDefinition.P ...

  2. 开源代码chat_master分析

  3. Visual C++没事别启用/Za编译选项

    Visual C++对于C++标准的支持不是很完善好像是钦定了的.MS还特意在这里说了些非标准行为[1]以及扩展行为[2].这就不可避免地会让处女座程序猿感到难受(我不是处女座).所以,经过一番goo ...

  4. browser_action' is only allowed for extensions but this is a legacy packaged app

    manifest.json中不可包含调试代码:    "app": {     "launch": {      "local_path": ...

  5. Oracle组成介绍

    Oracle Database 11g是一些特殊文件的集合,这些文件是用数据库配置助手创建的,然后用OEM Grid Control完成相关工作.这些数据库文件是通过一组共享内存进程来进行访问的,这组 ...

  6. 模拟post/get请求 类似于google的postman

    下载地址:https://www.getpostman.com/apps

  7. python学习第五次笔记

    python学习第五次笔记 列表的缺点 1.列表可以存储大量的数据类型,但是如果数据量大的话,他的查询速度比较慢. 2.列表只能按照顺序存储,数据与数据之间关联性不强 数据类型划分 数据类型:可变数据 ...

  8. String、StringBuffer和StringBuilder的区别及应用场景

    1. 运行速度:StringBulider>StringBuffer>String String为什么运行行慢呢? String:字符串常量 StringBuffer.StringBuli ...

  9. C语言---指针变量详解2

    指针变量保存的是地址,本质上是一个整数,可以进行部分运算,例如加法.减法.比较等,请看下面的代码: #include <stdio.h> int main(){ int a = 10, * ...

  10. python中的字典

    字典:由多个键及与其对应的键-值对组成,用:隔开,用花括号 括起来  phone_book={'Daming':'2202','Amy':'5462','Sam':'4785'} dict函数: