从当前Java上下文调用方法

时间:2018-09-28 03:38:52

标签: nativescript

目前,我正在使用SmsManager从Android发送一条短信,并且运行正常。

但是我确实想听取Intent结果并据此采取一些措施,下面的代码本来可以工作,但是我在运行时得到getResultCode的未定义(但它在调试控制台)

app.android.registerBroadcastReceiver(this.id, () => {
        if(this.getResultCode() == android.app.Activity.RESULT_OK){
            // Sucess
        } else {
            // Failure
        }
    });

如何正确地从getResultCode方法中获取值?

2 个答案:

答案 0 :(得分:1)

您将要使用application模块来公开android上下文。

https://docs.nativescript.org/api-reference/classes/application.androidapplication#context

编辑

import * as app from 'tns-core-modules/application';

// then below is the Android context object
app.android.context;

答案 1 :(得分:0)

我使用了箭头功能,因此得到了错误的上下文。

从箭头功能更改为标准功能可以解决此问题

app.android.registerBroadcastReceiver(this.id, function(){
        if(this.getResultCode() == android.app.Activity.RESULT_OK){
            // Sucess
        } else {
            // Failure
        }
    });