有没有办法检测apk是否存储在SD卡上? 怎么样?
答案 0 :(得分:4)
使用getApplicationInfo()。sourceDir
http://developer.android.com/reference/android/content/pm/ApplicationInfo.html
答案 1 :(得分:1)
为了使接受的答案更加具体,以下是根据API level 7指南或更低版本,在访问写入内部存储与外部存储的文件的环境中如何使用它的示例:
{ //...
mInternalApp = context.getApplicationInfo().sourceDir.matches("^/data/app/.*");
mPathInternal = context.getApplicationInfo().dataDir + "/files/";
mPathExternal = Environment.getExternalStorageDirectory() + "/Android/data/"
+ PACKAGE_NAME + "/files/";
}
private File getMyFile() {
return (mInternalApp) ? new File(mPathInternal + INT_FILE_NAME) :
new File(mPathExternal + EXT_FILE_NAME);
}
答案 2 :(得分:0)
是的......你可以检测到同样的......
从Android电子市场下载的应用程序存储在 / data / app (不在SD卡中)。 默认系统应用程序存储在 / system / app
中但是,root电话可以将应用程序存储在 / sdcard / backups / apps
中答案 3 :(得分:0)
File f = new file(Environment.getExternalStorageDirectory()+"your apk name");
sytem,out.println(""+f.exsits);