保存NativeScript Android代理功能以供以后使用

时间:2018-08-22 14:57:11

标签: android nativescript

在NativeScript中,我试图保存一个Android代理函数并在以后调用它(如果存在)。 Android docs不涉及这种情况。

特别是,我想动态安装Activity.onActivityResult()回调。看来我应该保存旧版本并在进行自己的工作之前调用它。所以我尝试了这个(打字稿):

let activity = android.foregroundActivity;
let oldCallback = activity.onActivityResult;
activity.onActivityResult = function(requestCode, resultCode, data) {
  if (oldCallback) oldCallback(requestCode, resultCode, data);
  console.log("oldCallback: " + JSON.stringify(oldCallback));
};

这将引发异常TypeError: Cannot read property 'onActivityResult' of undefined并记录oldCallback: undefined。在调试器中,oldCallback被定义为一个函数,在我未经训练的人看来,它可能像是代理函数。

问题:

  • 如何保存旧功能以备后用?
  • 如何测试旧功能是否存在,因此需要调用?
  • 然后如何正确调用它?

0 个答案:

没有答案