Я пытаюсь установить ориентацию экрана для портрета для одной страницы в моем приложении ioni c 4.
с помощью плагина cordova: https://github.com/apache/cordova-plugin-screen-orientation
регистрация текущей ориентации и мониторинг изменений ориентации работает нормально. Но когда я пытаюсь заблокировать ориентацию экрана, ничего не происходит, и экран продолжает вращаться при изменении ориентации.
В android studio появляется следующее сообщение об ошибке, когда приложение пытается заблокировать страницу:
2020-01-06 13:30:26.003 1913-2198/com.projectX E/Capacitor: Post message error:
java.lang.NullPointerException: Attempt to invoke virtual method 'void org.apache.cordova.CordovaPlugin.privateInitialize(java.lang.String, org.apache.cordova.CordovaInterface, org.apache.cordova.CordovaWebView, org.apache.cordova.CordovaPreferences)' on a null object reference
at org.apache.cordova.PluginManager.getPlugin(PluginManager.java:171)
at org.apache.cordova.PluginManager.exec(PluginManager.java:122)
at com.getcapacitor.MessageHandler.callCordovaPluginMethod(MessageHandler.java:70)
at com.getcapacitor.MessageHandler.postMessage(MessageHandler.java:46)
at android.os.MessageQueue.nativePollOnce(Native Method)
at android.os.MessageQueue.next(MessageQueue.java:326)
at android.os.Looper.loop(Looper.java:165)
at android.os.HandlerThread.run(HandlerThread.java:65)
Ниже мой app.module.ts
import { ScreenOrientation } from '@ionic-native/screen-orientation/ngx';
@NgModule({
providers: [
ScreenOrientation
],
})
Ниже приведена страница, на которой я sh заблокирую ориентацию, map.page.ts
import { ScreenOrientation } from '@ionic-native/screen-orientation/ngx';
export class MapPage {
places: Place[];
@ViewChild(IonContent) content: IonContent;
constructor(public platform: Platform, public renderer: Renderer, private
alertCtrl: AlertController, private router: Router, private placeService:
PlaceService, public navCtrl: NavController, private screenOrientation:
ScreenOrientation) {
}
ngOnInit() {
console.log("lockorientation ");
screen.orientation.lock('portrait');
console.log("lockorientation ");
}
Я также играл с файлом confix. xml, чтобы заблокировать приложение в портретном режиме, используя:
<preference name="orientation" value="portrait" />
Но приложение просто игнорирует команду и продолжает вращаться.