장치가 프로그래밍 방식으로 TouchWiz를 사용하는지 알려주는 방법
-
21-12-2019 - |
문제
사용중인 장치가 TouchWiz가 활성화되어 있는지 여부를 확인해야합니다.
를 사용해 보았습니다if (android.os.build.manufacturer.equals (manufact_samsung))
그러나 일부 장치가 삼성 전자가 만들어지고 터치 와이즈를 사용하지 마십시오.
어떻게 이것을 알아낼 수 있습니까?
해결책
기본 실행기를 확인하십시오. 나는 TouchWiz가 런처 인
을 믿습니다.final Intent intent = new Intent(Intent.ACTION_MAIN);
intent.addCategory(Intent.CATEGORY_HOME);
final ResolveInfo res = getPackageManager().resolveActivity(intent, 0);
if (res.activityInfo == null) {
// should not happen. A home is always installed, isn't it?
} if ("android".equals(res.activityInfo.packageName)) {
// No default selected
} else {
// res.activityInfo.packageName and res.activityInfo.name gives you the default app
}
. 다른 팁
PackageManager에서 기본 활동 목록을 가져올 수 있습니다.getPreferRedActivities () 메서드를 사용하십시오.
boolean isUsingTochwiz() {
final IntentFilter filter = new IntentFilter(Intent.ACTION_MAIN);
filter.addCategory(Intent.CATEGORY_HOME);
List<IntentFilter> filters = new ArrayList<IntentFilter>();
filters.add(filter);
final String myPackageName = "INSERT TOUCHWIZ PACKAGE NAME HERE";
List<ComponentName> activities = new ArrayList<ComponentName>();
final PackageManager packageManager = (PackageManager) getPackageManager();
packageManager.getPreferredActivities(filters, activities, null);
for (ComponentName activity : activities) {
if (myPackageName.equals(activity.getPackageName())) {
return true;
}
}
return false;
}
.
입니다 제휴하지 않습니다 StackOverflow