Android - исключение нулевого указателя для this.cordova.getActivity (). GetApplicationContext () - PullRequest
0 голосов
/ 23 октября 2018

Я создал плагин для Android.Теперь внутри плагина я хочу получить доступ к контексту приложения.

Я получил решение ниже, чтобы получить контекст класса CordovaPlugin

Context context = this.cordova.getActivity().getApplicationContext()

Но во время работы он выдает ошибку ниже

java.lang.NullPointerException: Attempt to invoke interface method 'android.app.Activity org.apache.cordova.CordovaInterface.getActivity()' on a null object reference
10-24 01:25:41.930 16692-16751/io.ionic.starter W/System.err:     at cordova.plugin.testpayment.TestPayment.<init>(TestPayment.java:25)
10-24 01:25:41.930 16692-16751/io.ionic.starter W/System.err:     at java.lang.Class.newInstance(Native Method)
10-24 01:25:41.930 16692-16751/io.ionic.starter W/System.err:     at org.apache.cordova.PluginManager.instantiatePlugin(PluginManager.java:492)
10-24 01:25:41.930 16692-16751/io.ionic.starter W/System.err:     at org.apache.cordova.PluginManager.getPlugin(PluginManager.java:169)
10-24 01:25:41.930 16692-16751/io.ionic.starter W/System.err:     at org.apache.cordova.PluginManager.exec(PluginManager.java:122)
10-24 01:25:41.930 16692-16751/io.ionic.starter W/System.err:     at org.apache.cordova.CordovaBridge.jsExec(CordovaBridge.java:59)
10-24 01:25:41.931 16692-16751/io.ionic.starter W/System.err:     at org.apache.cordova.engine.SystemExposedJsApi.exec(SystemExposedJsApi.java:41)
10-24 01:25:41.931 16692-16751/io.ionic.starter W/System.err:     at org.chromium.base.SystemMessageHandler.nativeDoRunLoopOnce(Native Method)
10-24 01:25:41.931 16692-16751/io.ionic.starter W/System.err:     at org.chromium.base.SystemMessageHandler.handleMessage(SystemMessageHandler.java:9)
10-24 01:25:41.931 16692-16751/io.ionic.starter W/System.err:     at android.os.Handler.dispatchMessage(Handler.java:102)
10-24 01:25:41.931 16692-16751/io.ionic.starter W/System.err:     at android.os.Looper.loop(Looper.java:154)

Я вижу ошибку как NullPointerException.

Могу я узнать, что в этом плохого?

1 Ответ

0 голосов
/ 25 октября 2018

Пожалуйста, используйте это

Context context = IS_AT_LEAST_LOLLIPOP ? cordova.getActivity().getWindow().getContext() : cordova.getActivity().getApplicationContext();
...