在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
被定义为一个函数,在我未经训练的人看来,它可能像是代理函数。
问题: