, так что это наложение всех телефонов, таких как oneplus3
public static boolean isScreenOriatationPortrait(Context context) {
return context.getResources().getConfiguration().orientation == Configuration.ORIENTATION_PORTRAIT;
}
правильный код следующим образом:
public static int getRotation(Context context){
final int rotation = ((WindowManager) context.getSystemService(Context.WINDOW_SERVICE)).getDefaultDisplay().getOrientation();
if(rotation == Surface.ROTATION_0 || rotation == Surface.ROTATION_180){
return Configuration.ORIENTATION_PORTRAIT;
}
if(rotation == Surface.ROTATION_90 || rotation == Surface.ROTATION_270){
return Configuration.ORIENTATION_LANDSCAPE;
}
return -1;
}
Я использовал этот код:
BOOL iconInDock = [[NSUserDefaults standardUserDefaults] boolForKey:smHideShowIcon];
if (iconInDock) {
ProcessSerialNumber psn = { 0, kCurrentProcess };
// display dock icon
TransformProcessType(&psn, kProcessTransformToForegroundApplication);
}
хорошо, это работает для моего приложения, если я установлю LSUIElement = 1 в Info.plist. Этот код работает только для показать , но как я могу скрыть значок ?
(Публикация этого как ответа, потому что комментарии не имеют форматирования кода)
QSBApplicationDelegate.m: 223-228
BOOL iconInDock = [[NSUserDefaults standardUserDefaults] boolForKey:kQSBIconInDockKey];
if (iconInDock) {
ProcessSerialNumber psn = { 0, kCurrentProcess };
TransformProcessType(&psn, kProcessTransformToForegroundApplication);
}
Вы можете настроить свое приложение как LSUIElement, а затем использовать TransformProcessType , чтобы включить значок Dock. Чтобы изменения вступили в силу, необходимо перезапустить приложение. См. Пример в проекте Окно быстрого поиска Google .