我想知道應用程序是安裝在外部存儲器還是內部存儲器上?此行只reutrns應用程序的路徑:如何在android中以編程方式查找應用程序的存儲位置
例如,我想這個提前
String path = p.getApplicationInfo(info.packageName, 0).sourceDir;
感謝:
Skype的內部存儲
我想知道應用程序是安裝在外部存儲器還是內部存儲器上?此行只reutrns應用程序的路徑:如何在android中以編程方式查找應用程序的存儲位置
例如,我想這個提前
String path = p.getApplicationInfo(info.packageName, 0).sourceDir;
感謝:
Skype的內部存儲
我這樣做的:
List<ApplicationInfo> packages = pm.getInstalledApplications(PackageManager.GET_META_DATA);
for (ApplicationInfo appInfo : packages)
{
String storage = null;
String appStorage = applicationStorage(appInfo);
if(appStorage.startsWith("/data/"))
{
storage = "Internal";
}
else
{
storage = "SD Card";
}
}
安卓的installLocation = 「internalOnly」
android:installLocation =「preferExternal」
安卓的installLocation = 「自動」
你可以在你選擇安裝的應用程序如上 – Rauf
我想找到的應用程序,這是已經安裝的存儲 –
這會給你的應用程序的列表安裝在您的設備上(.apk文件)文件 -
adb shell pm list packages -f
我的一些設備清單 -
package:/system/framework/framework-res.apk=android
package:/system/app/MusicPickerActivity.apk=com.MusicPickerActivity
package:/system/app/Kindle.apk=com.amazon.kindle
package:/system/app/BackupRestoreConfirmation.apk=com.android.backupconfirm
package:/system/app/Browser.apk=com.android.browser
package:/system/app/Calculator.apk=com.android.calculator2
package:/system/app/Calendar.apk=com.android.calendar
package:/system/app/CertInstaller.apk=com.android.certinstaller
package:/system/app/ChromeWithBrowser.apk=com.android.chrome
package:/system/app/Contacts.apk=com.android.contacts
package:/system/app/DefaultContainerService.apk=com.android.defcontainer
package:/system/app/DeskClock.apk=com.android.deskclock
package:/system/app/Email.apk=com.android.email
列出已安裝的包含術語myapp-
個亞行外殼下午清單包| grep的MYAPP
的CMD輸出:
包:com.myapp.main
顯示應用程序myapp
的安裝目錄 -
adb shell pm path com.myapp.main
的CMD輸出:
包:/data/app/com.myapp.main-2.apk
注:如果應用程序使用內部存儲,然後它會創建一個唯一的文件夾,將只從你的應用程序訪問。沒有其他應用程序可以看到它的內容。但是,外部存儲器就像公共文件夾一樣。
我的列表文件。我只想開發一個應用程序,它將顯示已安裝應用程序的列表,並針對每個應用程序,我想顯示其存儲位置。例如: Skype內部存儲 –
列表包= packageManager.getInstalledPackages(0); // PackageManager。GET_META_DATA
for(int i=0; i < packs.size(); i++) {
PackageInfo p = packs.get(i);
ApplicationInfo a = p.applicationInfo;
// skip system apps if they shall not be included
if ((!includeSysApps) && ((a.flags & ApplicationInfo.FLAG_SYSTEM) == 1)) {
continue;
}
App app = new App();
app.setTitle(p.applicationInfo.loadLabel(packageManager).toString());
app.setPackageName(p.packageName);
app.setVersionName(p.versionName);
app.setVersionCode(p.versionCode);
CharSequence description = p.applicationInfo.loadDescription(packageManager);
app.setDescription(description != null ? description.toString() : "");
apps.add(app);
}
applicationStorage()? – NarendraJi