小编Ken*_*nio的帖子

如何在flutter中模拟firebase_messaging?

您好,我试图模拟 firebase 消息传递以获取令牌,但是当我尝试测试时出现一些错误,有人可以帮助我解决此错误。该错误仅在测试时出现,在我的模拟器或手机中不会出现。这是我的setupFirebaseAuthMocks。谢谢

我的测试

Future<void> _firebaseMessagingBackgroundHandler(RemoteMessage message) async {
  await Firebase.initializeApp();
}

void main() {
 setupFirebaseAuthMocks();
 late ProviderContainer container;

 group('AuthenticationControllerTest -', () {
   setUpAll(() async {
     await Firebase.initializeApp();
     FirebaseMessaging.onBackgroundMessage(_firebaseMessagingBackgroundHandler);
     registerThirdPartyServices();
   });
   tearDown(() {
    unregisterThirdPartyServices();
     //container.dispose();
});
    });
Run Code Online (Sandbox Code Playgroud)

错误

MissingPluginException(No implementation found for method Messaging#getToken on channel plugins.flutter.io/firebase_messaging)
Run Code Online (Sandbox Code Playgroud)

这是我试图调用的方法

  Future<Result<Failure, bool>> registerUserFirebaseToken() async {
   try {
    log.i('Registering Firebase');
    final fireBaseMessaging = FirebaseMessaging.instance;
    final token = await fireBaseMessaging.getToken();
    log.v('Firebase token: $token');

  await api.post(
    link: '${env.getValue(kAuthUrl)}users/auth/firebase',
    body: {'token': token},
    hasHeader: true, …
Run Code Online (Sandbox Code Playgroud)

mocking mockito dart flutter flutter-test

7
推荐指数
1
解决办法
1765
查看次数

如何使用 Go Router 获取之前的路线位置?

我想做的是,例如,如果路由器从登录到验证屏幕执行某些操作,但是当注册但未登录的上一个位置时,则不执行某些操作。

所以我想获取上一个位置对其进行一些逻辑,我知道我可以将参数传递到页面,然后从中执行逻辑,例如传递一个 bool 并在 true 或 false 时执行逻辑,但我想要更好或正确的方式,如果你知道我想要的话。谢谢。

我在 go router 中遇到了这个方法,它的作用是什么?它仅用于记录目的吗?我尝试在参数中添加路线名称或位置,但它会引发错误。我需要在这里输入什么参数,我不知道在哪里可以找到路线,谢谢。

context.didPush(Route<dynamic> route, Route<dynamic>? previousRoute);
Run Code Online (Sandbox Code Playgroud)

navigation dart flutter gorouter

3
推荐指数
1
解决办法
4610
查看次数

实现 'com.github.prolificinteractive:material-calendarview:2.0' 无法解析

为什么我的材质日历视图无法解析,这是我的模块:app

    apply plugin: 'com.android.application'

android {
    compileSdkVersion 26
    defaultConfig {
        applicationId "com.project.cms"
        minSdkVersion 22
        targetSdkVersion 26
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner 
  "android.support.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android- optimize.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    implementation 'com.android.support:appcompat-v7:26.0.0-beta1'
    implementation 'com.android.support:design:26.0.0-beta1'
    implementation 'com.android.support:support-v4:26.0.0-beta1'
    implementation 'com.android.support.constraint:constraint-layout:1.1.3'
    testImplementation 'junit:junit:4.12'
    androidTestImplementation 'com.android.support.test:runner:1.0.2'
    androidTestImplementation 'com.android.support.test.espresso:espresso- core:3.0.2'
    implementation 'com.github.ybq:Android-SpinKit:1.2.0'
    implementation 'com.android.support:cardview-v7:26.0.0-beta1'
    implementation 'com.android.support:recyclerview-v7:26.0.0-beta1'
    implementation 'com.github.prolificinteractive:material-calendarview:2.0'

}
Run Code Online (Sandbox Code Playgroud)

这是我的构建文件

buildscript {
    repositories {
        google()
        jcenter()

    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.3.2'

    // …
Run Code Online (Sandbox Code Playgroud)

android calendarview

2
推荐指数
1
解决办法
4255
查看次数