非Root三星Galaxy A12中,获取数据路径的代码应输入至何处?
新手实操:你的Android文件路径代码怎么用
先明确:这段代码是Android App开发代码,得写在你自己创建的Android项目里
因为你手机没Root,普通情况只能访问自己开发的App的私有文件目录,其他App的私有文件你碰不到。下面一步步来:
1. 先装开发工具
下载安装Android Studio,安装过程一路默认即可,它会自动配置Android开发所需的环境。
2. 创建新的Android项目
打开Android Studio后,选择「Empty Activity」模板,跟着向导填写:
- 项目名:随便起,比如「FilePathFinder」
- 语言:选Java(你的代码是Java编写的,匹配即可)
- 最低SDK:选API 30以上(你的三星A12是Android 11/12,这个版本能适配)
- 其他选项保持默认,点击Finish等待项目创建完成。
3. 把代码放进正确的位置
项目创建好后,找到左侧项目栏里的app/src/main/java/[你的包名]/MainActivity.java(比如app/src/main/java/com/example/filepathfinder/MainActivity.java),双击打开这个文件:
- 把你的
getFilePath()方法放到MainActivity类内部,再添加一段调用代码用来打印结果,最终代码如下:
public class MainActivity extends AppCompatActivity { // 你提供的路径获取方法,注意修改文件名! private String getFilePath(){ ContextWrapper contextWrapper = new ContextWrapper(getApplicationContext()); File filePath = contextWrapper.getFilesDir(); // 把这里的"你的具体文件名"替换成你从logcat拿到的真实文件名,比如"user_data.txt" // 别用原来的"*/*",File类不识别通配符! File file = new File(filePath, "你的具体文件名"); return file.getPath(); } @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // 调用方法并把路径打印到Logcat String fileFullPath = getFilePath(); Log.d("MyFilePath", "找到的文件路径:" + fileFullPath); } }
4. 把App安装到你的三星A12上
- 用USB数据线将手机连接到电脑,然后开启手机的「开发者选项」:
- 打开手机设置→关于手机→连续点击「软件版本号」(大概5次),直到提示开发者选项已开启
- 返回设置,找到「开发者选项」→打开「USB调试」
- 回到Android Studio,点击顶部的绿色运行按钮(三角形图标),选择你的三星A12设备,等待App安装完成并自动打开。
5. 查看结果
- 回到Android Studio底部,打开「Logcat」面板(如果没显示,点击View→Tool Windows→Logcat)
- 在Logcat的搜索框输入
MyFilePath,就能看到打印出来的文件路径了。
额外提醒
如果你要找的是其他App的文件,没Root的情况下根本无法获取,因为Android系统会锁定每个App的私有文件。只有当目标App主动把文件放到公共存储(比如下载文件夹)时,你才能修改代码去访问公共存储路径。
内容的提问来源于stack exchange,提问作者Boba Fetti
相关产品推荐
相关产品推荐

