Nativescript-auth0 | java.lang.NullPointerException
Nativescript-auth0 | java.lang.NullPointerException
首先,我对此很陌生,所以如果我忘记了一些信息,请原谅,谢谢你的帮助。
我正在尝试使用 nativescript-auth0 登录我的 nativescript android 应用程序。
首先,我的tns版本是4.1.2。
tns-android 的版本是 4.1.3。
nativescript-auth0的版本是2.0.0.
我关注了这个 link : https://github.com/sitefinitysteve/nativescript-auth0
正如他们所说,我添加到 Android 清单中:
<activity
android:name="com.auth0.android.provider.RedirectActivity"
tools:node="replace">
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data
android:host="jarggon.eu.auth0.com"
android:pathPrefix="/android/org.nativescript.JarggonTranslatorApp/callback"
android:scheme="https" />
</intent-filter>
</activity>
在我的组件中我有:
lock.show().then((res) => {
console.log('success');
}, function (error) {
console.log(error);
});
使用我的 lock 实例,一切都很好。
但是当我运行通过“tns 运行 android”安装应用程序时,我得到了这个:
JS: Error: java.lang.NullPointerException: Attempt to invoke virtual
method 'android.content.Context
android.content.Context.getApplicationContext()' on a null object
reference JS:
android.support.v4.content.LocalBroadcastManager.getInstance(LocalBroadcastManager.java:102)
JS: com.auth0.android.lock.Lock.initialize(Lock.java:144) JS:
com.auth0.android.lock.Lock.access0(Lock.java:56) JS:
com.auth0.android.lock.Lock$Builder.build(Lock.java:236) JS:
com.tns.Runtime.callJSMethodNative(Native Method) JS:
com.tns.Runtime.dispatchCallJSMethodNative(Runtime.java:1101) JS:
com.tns.Runtime.callJSMethodImpl(Runtime.java:983) JS:
com.tns.Runtime.callJSMethod(Runtime.java:970) JS:
com.tns.Runtime.callJSMethod(Runtime.java:954) JS:
com.tns.Runtime.callJSMethod(Runtime.java:946) JS:
com.tns.NativeScriptActivity.onCreate(NativeScriptActivity.java:18)
JS: android.app.Activity.performCreate(Activity.java:7041) JS:
android.app.Activity.performCreate(Activity.java:7032) JS:
android.app.Instrumentation.callActivityOnCre...
我知道这是来自 lock.show() 函数错误的 console.log,但我不明白为什么..
我也尝试在根目录下添加一个reference.d.ts文件并放入其中:
/// <reference path="./node_modules/nativescript-auth0/typings/Auth0.ios.d.ts" />
/// <reference path="./node_modules/nativescript-auth0/typings/Lock.ios.d.ts" />
但我在 运行 时遇到了大约 30 个错误,例如:
node_modules/nativescript-auth0/typings/Auth0.ios.d.ts(2,43): error
TS2552: Cannot find name 'NSObject'. Did you mean 'Object'?
node_modules/nativescript-auth0/typings/Auth0.ios.d.ts(8,42): error
TS2304: Cannot find name 'NSURL'.
node_modules/nativescript-auth0/typings/Auth0.ios.d.ts(10,42): error
TS2304: Cannot find name 'NSURL'.
node_modules/nativescript-auth0/typings/Auth0.ios.d.ts(10,58): error
TS2304: Cannot find name 'NSURLSession'.
node_modules/nativescript-auth0/typings/Auth0.ios.d.ts(12,153): error
TS2304: Cannot find name 'NSDictionary'.
node_modules/nativescript-auth0/typings/Auth0.ios.d.ts(12,195): error
TS2304: Cannot find name 'NSError'.
node_modules/nativescript-auth0/typings/Auth0.ios.d.ts(12,208): error
TS2304: Cannot find name 'NSDictionary'.
node_modules/nativescript-auth0/typings/Auth0.ios.d.ts(14,45): error
TS2304: Cannot find name 'NSURL'.
node_modules/nativescript-auth0/typings/Auth0.ios.d.ts(16,52): error
TS2304: Cannot find name 'NSURL'.
node_modules/nativescript-auth0/typings/Auth0.ios.d.ts(16,68): error
TS2304: Cannot find name 'NSURLSession'.
node_modules/nativescript-auth0/typings/Auth0.ios.d.ts(18,118): error
TS2304: Cannot find name 'NSDictionary'.
node_modules/nativescript-auth0/typings/Auth0.ios.d.ts(18,160): error
TS2304: Cannot find name 'NSError'.
node_modules/nativescript-auth0/typings/Auth0.ios.d.ts(20,151): error
TS2304: Cannot find name 'NSDictionary'.
node_modules/nativescript-auth0/typings/Auth0.ios.d.ts(20,193): error
TS2304: Cannot find name 'NSError'.
node_modules/nativescript-auth0/typings/Auth0.ios.d.ts(22,93): error
TS2304: Cannot find name 'NSError'.
我不知道我还能做什么..谢谢你的帮助,如果你需要任何信息,请告诉我..
已解决。如果有人需要知道我必须使用 GridLayout 的加载事件。因为在我执行锁定实例之前视图还没有准备好,即使我使用了 ngAfterViewInit 。
首先,我对此很陌生,所以如果我忘记了一些信息,请原谅,谢谢你的帮助。
我正在尝试使用 nativescript-auth0 登录我的 nativescript android 应用程序。
首先,我的tns版本是4.1.2。 tns-android 的版本是 4.1.3。 nativescript-auth0的版本是2.0.0.
我关注了这个 link : https://github.com/sitefinitysteve/nativescript-auth0
正如他们所说,我添加到 Android 清单中:
<activity
android:name="com.auth0.android.provider.RedirectActivity"
tools:node="replace">
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data
android:host="jarggon.eu.auth0.com"
android:pathPrefix="/android/org.nativescript.JarggonTranslatorApp/callback"
android:scheme="https" />
</intent-filter>
</activity>
在我的组件中我有:
lock.show().then((res) => {
console.log('success');
}, function (error) {
console.log(error);
});
使用我的 lock 实例,一切都很好。
但是当我运行通过“tns 运行 android”安装应用程序时,我得到了这个:
JS: Error: java.lang.NullPointerException: Attempt to invoke virtual method 'android.content.Context android.content.Context.getApplicationContext()' on a null object reference JS: android.support.v4.content.LocalBroadcastManager.getInstance(LocalBroadcastManager.java:102) JS: com.auth0.android.lock.Lock.initialize(Lock.java:144) JS: com.auth0.android.lock.Lock.access0(Lock.java:56) JS: com.auth0.android.lock.Lock$Builder.build(Lock.java:236) JS: com.tns.Runtime.callJSMethodNative(Native Method) JS: com.tns.Runtime.dispatchCallJSMethodNative(Runtime.java:1101) JS: com.tns.Runtime.callJSMethodImpl(Runtime.java:983) JS: com.tns.Runtime.callJSMethod(Runtime.java:970) JS: com.tns.Runtime.callJSMethod(Runtime.java:954) JS: com.tns.Runtime.callJSMethod(Runtime.java:946) JS: com.tns.NativeScriptActivity.onCreate(NativeScriptActivity.java:18) JS: android.app.Activity.performCreate(Activity.java:7041) JS: android.app.Activity.performCreate(Activity.java:7032) JS: android.app.Instrumentation.callActivityOnCre...
我知道这是来自 lock.show() 函数错误的 console.log,但我不明白为什么..
我也尝试在根目录下添加一个reference.d.ts文件并放入其中:
/// <reference path="./node_modules/nativescript-auth0/typings/Auth0.ios.d.ts" />
/// <reference path="./node_modules/nativescript-auth0/typings/Lock.ios.d.ts" />
但我在 运行 时遇到了大约 30 个错误,例如:
node_modules/nativescript-auth0/typings/Auth0.ios.d.ts(2,43): error TS2552: Cannot find name 'NSObject'. Did you mean 'Object'? node_modules/nativescript-auth0/typings/Auth0.ios.d.ts(8,42): error TS2304: Cannot find name 'NSURL'. node_modules/nativescript-auth0/typings/Auth0.ios.d.ts(10,42): error TS2304: Cannot find name 'NSURL'. node_modules/nativescript-auth0/typings/Auth0.ios.d.ts(10,58): error TS2304: Cannot find name 'NSURLSession'. node_modules/nativescript-auth0/typings/Auth0.ios.d.ts(12,153): error TS2304: Cannot find name 'NSDictionary'. node_modules/nativescript-auth0/typings/Auth0.ios.d.ts(12,195): error TS2304: Cannot find name 'NSError'. node_modules/nativescript-auth0/typings/Auth0.ios.d.ts(12,208): error TS2304: Cannot find name 'NSDictionary'. node_modules/nativescript-auth0/typings/Auth0.ios.d.ts(14,45): error TS2304: Cannot find name 'NSURL'. node_modules/nativescript-auth0/typings/Auth0.ios.d.ts(16,52): error TS2304: Cannot find name 'NSURL'. node_modules/nativescript-auth0/typings/Auth0.ios.d.ts(16,68): error TS2304: Cannot find name 'NSURLSession'. node_modules/nativescript-auth0/typings/Auth0.ios.d.ts(18,118): error TS2304: Cannot find name 'NSDictionary'. node_modules/nativescript-auth0/typings/Auth0.ios.d.ts(18,160): error TS2304: Cannot find name 'NSError'. node_modules/nativescript-auth0/typings/Auth0.ios.d.ts(20,151): error TS2304: Cannot find name 'NSDictionary'. node_modules/nativescript-auth0/typings/Auth0.ios.d.ts(20,193): error TS2304: Cannot find name 'NSError'. node_modules/nativescript-auth0/typings/Auth0.ios.d.ts(22,93): error TS2304: Cannot find name 'NSError'.
我不知道我还能做什么..谢谢你的帮助,如果你需要任何信息,请告诉我..
已解决。如果有人需要知道我必须使用 GridLayout 的加载事件。因为在我执行锁定实例之前视图还没有准备好,即使我使用了 ngAfterViewInit 。