c# 枚举安卓系统中所有目录及文件名
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# 枚举安卓系统中所有目录及文件名的更多相关文章
- dirname basename 截取路径中的目录以及文件名
dirname basename 截取路径中的目录以及文件名 windows 下面: #include "shlwapi.h"#pragma comment(lib, &qu ...
- Linux系统中各目录的作用
/binbin是binary的缩写.这个目录沿袭了UNIX系统的结构,存放着使用者最经常使用的命令.例如cp.ls.cat,等等. /boot这里存放的是启动Linux时使用的一些核心文件. /dev ...
- 在Linux和Windows系统中输出目录结构
前言 一直以来就想在写文章时,能以文本形式(而不是截图)附上项目的目录结构,今天终于知道怎么操作了,在这分享一下. Linux 首先说下Linux上输出目录结构的方法. yum安装tree 需要支持t ...
- 用户管理 之 Linux 系统中的超级权限的控制
在Linux操作系统中,root的权限是最高的,也被称为超级权限的拥有者.普通用户无法执行的操作,root用户都能完成,所以也被称之为超级管理用户. 在系统中,每个文件.目录和进程,都归属于某一个用户 ...
- Delphi 调用系统中的计算器、记事本、画图软件方法
1.直接调用 前面uses加 ShellAPI ShellExecute(Handle, 'open', PChar('calc.exe'), nil, nil, SW_SHOW); 2.直接调 ...
- linux系统中文件的几种类型
Linux系统是以文件的形式来进行管理的.Linux文件类型常见的有:普通文件.目录.字符设备文件.块设备文件.符号链接文件等,如果想了解这方面知识的弟兄,就进来了解了解. Linux系统不同于win ...
- Java生鲜电商平台-生鲜系统中商品订单系统售后系统设计
Java生鲜电商平台-生鲜系统中商品订单系统售后系统设计(服务订单履约系统) 说明: 电商之下,我们几乎能从电商平台上买到任何我们日常需要的商品,但是对于很多商品来说,用户购买发货后,只是整个交易流程 ...
- 【转】Android系统中Fastboot和Recovery所扮演的角色。
Android 刷机过程中 Fastboot 和 Recovery 的作用是什么? 自己在知乎的一篇回答,,现在翻出来放到博客,希望可以解答更多人的疑惑,抑或有什么理解上的错误,也望网友指出~ 今天恰 ...
- Windows下USB磁盘开发系列二:枚举系统中所有USB设备
上篇 <Windows下USB磁盘开发系列一:枚举系统中U盘的盘符>介绍了很简单的获取系统U盘盘符的办法,现在介绍下如何枚举系统中所有USB设备(不光是U盘). 主要调用的API如下: 1 ...
随机推荐
- jar包添加到maven本地仓库
操作系统windows 本地要配置过maven环境 cmd 运行命令 mvn install:install-file -Dfile=D:\commons-net-3.6.jar.jar -Dgro ...
- scrapy_redis项目配置
一.创建普通scrapy项目 二.spiders爬虫文件中修改项 import scrapy from XX.items import XXItem import json # ----1 导入类 f ...
- PAT B1013
PAT B1013 标签(空格分隔): PAT 解法:埃氏筛法 注意点: 1. 由于不知道第n个素数有多大,所以要用一个大的数组来储存结果. 2. 注意输出格式,末尾不能有多余空格 #include ...
- Beta冲刺前的准备
Beta冲刺前准备 1.讨论组长否重选的议题和结论 经过团队讨论,不重选组长.我们团队在队长的带领下积极完成任务,使得团队项目初具模型.经过alpha阶段,我们的团队从一开始的零散到如今的凝聚,通力合 ...
- web APIS
WEB API系列: 很多人都很迷惑,既然有了WCF为什么还要有WEB API?WEB API会不会取代WCF? 就我的看法,WCF提供的是一种RPC实现的集合,WCF的设计更多地考虑了SOA的场 ...
- dubbo入门学习笔记之入门demo(基于普通maven项目)
注:本笔记接dubbo入门学习笔记之环境准备继续记录; (四)开发服务提供者和消费者并让他们在启动时分别向注册中心注册和订阅服务 需求:订单服务中初始化订单功能需要调用用户服务的获取用户信息的接口(订 ...
- mybatics 与jpa
mybatics,dao层接口,mapper: public interface UserMapper { @Select("SELECT * FROM T_ROLE WHERE ROLE_ ...
- L2-002 链表去重 (25 分)
L2-002 链表去重 (25 分) 给定一个带整数键值的链表 L,你需要把其中绝对值重复的键值结点删掉.即对每个键值 K,只有第一个绝对值等于 K 的结点被保留.同时,所有被删除的结点须被保存在 ...
- Python使用requests库,requests.post格式会引发参数不存在问题
Content-Type: application/json #############↓↓↓成功↓↓↓############# import requests url = 'http://loca ...
- 浅谈ES6新增数据类型:Symbol
面试中喜闻乐见的问题就是问我们的ES6新增了哪些个新特性 这篇文章一起学习一下新增的数据类型:Symbol JS的原始数据类型:6种Boolean,String,Undefined,NULL,Numb ...