1

我想在我的 Appcelerator Titanium 应用程序中使用华为 Push Kit 和 Hyperloop。

    var tokenString = '';
    var Activity = require('android.app.Activity');
    var ActivityToken = require('com.huawei.hms.aaid.HmsInstanceId');

try{    
        const activity = new Activity(Ti.Android.currentActivity);
        tokenString = ActivityToken.getInstance(activity).getToken(appID, "HCM");
        console.log('tokenString', tokenString); 
}
catch (e){
    console.log(e);
}

但我收到错误:“禁止在主线程中操作”

如何在单独的线程中运行代码?

4

2 回答 2

1

您可以通过调用HmsMessaging中的setAutoInitEnabled(boolean enable)方法来尝试自动初始化

ActivityToken.getInstance(activity).setAutoInitEnabled(true);

配置完成后通过onNewToken()方法返回申请的token 。

于 2020-11-30T12:23:35.293 回答
-1

环绕后台线程内的代码,因为错误清楚地表明这不能在主线程上运行。在主线程、onCreate 等中通常不允许耗时调用。

Thread { 
…
    }.run()
于 2020-12-02T22:20:11.400 回答