내 새 앱에서는 내 앱에서 다른 앱을 시작하려고합니다. 그러나 모든 응용 프로그램에 패키지 이름을 찾는 것은 상당히 어렵습니다. 나는 현재 설치된 모든 앱에서 패키지 이름을 찾는 앱을 만들지 만 일종의 온라인 데이터베이스 나 시장을 어디에서 볼 것인지 쉽게 알 수 있습니다.온라인으로 패키지 이름을 찾으십니까?
온라인 패키지 데이터베이스가 있습니까? 아니면 "packagename app"을 사용하여 직접 찾아야합니까?
내 새 앱에서는 내 앱에서 다른 앱을 시작하려고합니다. 그러나 모든 응용 프로그램에 패키지 이름을 찾는 것은 상당히 어렵습니다. 나는 현재 설치된 모든 앱에서 패키지 이름을 찾는 앱을 만들지 만 일종의 온라인 데이터베이스 나 시장을 어디에서 볼 것인지 쉽게 알 수 있습니다.온라인으로 패키지 이름을 찾으십니까?
온라인 패키지 데이터베이스가 있습니까? 아니면 "packagename app"을 사용하여 직접 찾아야합니까?
다른 앱에서 정보를 얻으려면 아래 코드를 사용하십시오. 코드에 약간의 오류가있을 수 있지만 좋은 출발점이됩니다. 이 시스템 애플리케이션에 접근해야하는 경우
class PInfo {
private String appname = "";
private String pname = "";
private String versionName = "";
private int versionCode = 0;
private Drawable icon;
private void prettyPrint() {
Log.v(appname + "\t" + pname + "\t" + versionName + "\t" + versionCode);
}
}
private ArrayList<PInfo> getPackages() {
ArrayList<PInfo> apps = getInstalledApps(false); /* false = no system packages */
final int max = apps.size();
for (int i=0; i<max; i++) {
apps.get(i).prettyPrint();
}
return apps;
}
private ArrayList<PInfo> getInstalledApps(boolean getSysPackages) {
ArrayList<PInfo> res = new ArrayList<PInfo>();
List<PackageInfo> packs = getPackageManager().getInstalledPackages(0);
for(int i=0;i<packs.size();i++) {
PackageInfo p = packs.get(i);
if ((!getSysPackages) && (p.versionName == null)) {
continue ;
}
PInfo newInfo = new PInfo();
newInfo.appname = p.applicationInfo.loadLabel(getPackageManager()).toString();
newInfo.pname = p.packageName;
newInfo.versionName = p.versionName;
newInfo.versionCode = p.versionCode;
newInfo.icon = p.applicationInfo.loadIcon(getPackageManager());
res.add(newInfo);
}
return res;
}
아래의 코드를 사용하려고 할 수 있습니다 : 당신이 패키지 이름을 가져 오지하기 위해 온라인 데이터베이스를 사용하고자 할 이유
((packs.get(i).applicationInfo.flags & ApplicationInfo.FLAG_SYSTEM) == 1) { continue; }
. 왜 온라인 데이터베이스를 사용하고 싶은지 말해 주시면 더 자세한 정보를 알려 드릴 수 있습니다. 안드로이드 마켓 URL (google play)을 살펴보면 앱 URL에 패키지 이름이 포함되어 있음을 알 수 있습니다. 예 : https://play.google.com/store/apps/details?id=com.speaker.app
id =는 패키지 이름입니다. 이것은 당신이 원하는 시장을 어디에서보아야 하는지를 이해하는 데 도움이 될 수 있습니다.
정말로 온라인 데이터베이스가 필요한 경우 : 나는 일종의 SQL을 사용하고 앱에서 "정보"를 요청할 것을 권장합니다. 이 requier 일부 서버 백엔드 프로그래밍 지식.