首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何获取本地语言插件中的活动?

如何获取本地语言插件中的活动?
EN

Stack Overflow用户
提问于 2017-01-13 12:02:04
回答 1查看 4.4K关注 0票数 7

我在开发本地功能障碍时遇到了一些麻烦,我不知道如何在本地语言插件?中获得这种活动。

在android中:

代码语言:javascript
复制
import android.app.Activity;
import com.alipay.sdk.app.PayTask;
public Alipay(Activity activity) {
    this.activity = activity;
    PayTask alipay = new PayTask(activity);
    String result = alipay.pay(payInfo);
}

当我用本地语言开发一个插件时,我编写了以下代码:

代码语言:javascript
复制
var application = require("application");
var context = application.android.context;
//var context = application.android.foregroundActivity;
 
module.exports = {
    startpay: function(orderInfo) {

        var payTask = new com.alipay.sdk.app.PayTask(context);
        return payTask.payV2(orderInfo,true);
    }
};

它可以使用com.alipay.sdk.app.PayTask().但是context是错的,我试过了

代码语言:javascript
复制
var context = application.android.context;

代码语言:javascript
复制
var context = application.android.foregroundActivity;

但是,当应用程序运行也有异常时:

代码语言:javascript
复制
An uncaught Exception occurred on "main" thread. com.tns.NativeScriptException:  Calling js method onClick failed

Error: java.lang.NullPointerException: Attempt to invoke virtual method 'android.content.Context android.content.Context.getApplicationContext()' on a null object reference
    com.alipay.sdk.sys.b.a(SourceFile:46)
    com.alipay.sdk.app.PayTask.<init>(SourceFile:57)
    com.tns.Runtime.callJSMethodNative(Native Method)
    com.tns.Runtime.dispatchCallJSMethodNative(Runtime.java:1022)
    com.tns.Runtime.callJSMethodImpl(Runtime.java:907)
    com.tns.Runtime.callJSMethod(Runtime.java:895)
    com.tns.Runtime.callJSMethod(Runtime.java:879)
    com.tns.Runtime.callJSMethod(Runtime.java:871)
    com.tns.gen.android.view.View_OnClickListener.onClick(android.view.View$OnClickListener.java)
    android.view.View.performClick(View.java:4790)
    android.view.View$PerformClick.run(View.java:19933)
    android.os.Handler.handleCallback(Handler.java:739)
    android.os.Handler.dispatchMessage(Handler.java:95)
    android.os.Looper.loop(Looper.java:135)
    android.app.ActivityThread.main(ActivityThread.java:5569)
    java.lang.reflect.Method.invoke(Native Method)
    java.lang.reflect.Method.invoke(Method.java:372)
    com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:931)
    com.android.internal.os.ZygoteInit.main(ZygoteInit.java:726) File: "/data/data/com.zhengbancn.app/files/app/tns_modules/nativescript-alipay/index.js, line: 8, column: 15
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-01-13 12:26:01

可以使用核心模块API检索应用程序上下文/活动,如:https://docs.nativescript.org/cookbook/application#using-the-android-application-context中所述。

import app = require("application"); var context = app.android.context;

var utilsAd = require("utils/utils").ad; var context = utilsAd.getApplicationContext();

票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41634218

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档