如下所示:
代码语言:javascript
jclass envcls = env- FindClass("android/os/Environment"); //获得类引用
if (envcls == nullptr) return 0;
//找到对应的类,该类是静态的返回值是File
jmethodID id = env- GetStaticMethodID(envcls, "getExternalStorageDirectory", "()Ljava/io/File;");
//调用上述id获得的方法,返回对象即File file=Enviroment.getExternalStorageDirectory()
//其实就是通过Enviroment调用 getExternalStorageDirectory()
jobject fileObj = env- CallStaticObjectMethod(envcls,id,"");
//通过上述方法返回的对象创建一个引用即File对象
jclass flieClass = env- GetObjectClass(fileObj); //或得类引用
//在调用File对象的getPath()方法获取该方法的ID,返回值为String 参数为空
jmethodID getpathId = env- GetMethodID(flieClass, "getPath", "()Ljava/lang/String;");
//调用该方法及最终获得存储卡的根目录
jstring pathStr = (jstring)env- CallObjectMethod(fileObj,getpathId,"");
path = env- GetStringUTFChars(pathStr,NULL);
以上这篇Android ndk获取手机内部存储卡的根目录方法就是小编分享给大家的全部内容了,希望能给大家一个参考。
更多Android进阶指南 可以扫码 解锁 《Android十大板块文档》
1.Android车载应用开发系统学习指南(附项目实战)
2.Android Framework学习指南,助力成为系统级开发高手
3.2024最新Android中高级面试题汇总+解析,告别零offer
4.企业级Android音视频开发学习路线+项目实战(附源码)
5.Android Jetpack从入门到精通,构建高质量UI界面
6.Flutter技术解析与实战,跨平台首要之选
7.Kotlin从入门到实战,全方面提升架构基础
8.高级Android插件化与组件化(含实战教程和源码)
9.Android 性能优化实战+360°全方面性能调优
10.Android零基础入门到精通,高手进阶之路
敲代码不易,关注一下吧。ღ( ´・ᴗ・` ) 🤔