gpt4 book ai didi

java - 在 NativeScript 中使用 Android 原生代码 (JAVA)

转载 作者:行者123 更新时间:2023-12-01 12:55:43 26 4
gpt4 key购买 nike

我想在我的 NativeScript 应用程序中使用原生 android 代码来检查 Play 商店中是否有可用的更新。

我正在使用官方的 android 文档。

Support in app updates Android

native Java代码如下

 // Creates instance of the manager.
AppUpdateManager appUpdateManager = AppUpdateManagerFactory.create(context);

// Returns an intent object that you use to check for an update.
Task<AppUpdateInfo> appUpdateInfoTask = appUpdateManager.getAppUpdateInfo();

// Checks that the platform will allow the specified type of update.
appUpdateInfoTask.addOnSuccessListener(appUpdateInfo -> {
if (appUpdateInfo.updateAvailability() == UpdateAvailability.UPDATE_AVAILABLE
// For a flexible update, use AppUpdateType.FLEXIBLE
&& appUpdateInfo.isUpdateTypeAllowed(AppUpdateType.IMMEDIATE)) {
// Request the update.
}
});

NavtiveScript 代码如下
import { Injectable } from '@angular/core';
import { ad as androidUtilities } from 'tns-core-modules/utils/utils';
declare const com: any;

@Injectable({
providedIn: 'root'
})
export class AppUpdateService {

constructor() {
}

public checkForUpdate() {
try {
const context = androidUtilities.getApplicationContext();
const appUpdateManager = com.google.android.play.core.appupdate.AppUpdateManagerFactory.create(context);
appUpdateManager.getAppUpdateInfo().addOnSuccessListener(appUpdateInfo => {

});
} catch (err) {
console.log('Err in checkForUpdate() : ', err);
}
}

}

我收到了这个错误

JS: Err in checkForUpdate() : Error: Cannot convert object to Lcom/google/android/play/core/tasks/OnSuccessListener; at index 0



谁能告诉我我做错了什么。

最佳答案

您需要传递编码(marshal)的(从 Java 转换为 JavaScript) native Android 监听器,如图所示 in this documentation seciton .在您的情况下,您应该使用文章中显示的规则创建一个成功监听器。

关于java - 在 NativeScript 中使用 Android 原生代码 (JAVA),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59859206/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com