Иметь журнал было бы идеально, но если в журналах все нормально, исключений и кодов результата из HCM не получилось, проверьте версию EMUI вашего устройства.
Если версия EMUI вашего устройства более ранняя, чем 10.0, код, который вы использовали, вернет пустой токен pu sh. В таком случае необходимо реализовать пользовательский сервис, расширяющий HmsMessageService.
В вашем AndroidManifest. xml add;
<service
android:name=".CustomPushService"
android:exported="false">
<intent-filter>
<action android:name="com.huawei.push.action.MESSAGING_EVENT" />
</intent-filter>
</service>
Затем создайте следующий класс;
public class CustomPushService extends HmsMessageService {
private static final String TAG = "PushTokenLog";
@Override
public void onNewToken(String token) {
super.onNewToken(token);
Log.i(TAG, "receive token:" + token);
}
}
И, наконец, убедитесь, что ваше устройство Huawei: ) Большинство функций HMS Core опирается на EMUI. Без EMUI функциональность функций на данный момент не гарантируется.
Ниже приведена хорошая ссылка, чтобы увидеть отношение HMS Core - EMUI. https://developer.huawei.com/consumer/en/doc/development/HMS-Guides/emui_version_dependent_features