繁体   English   中英

Flutter 应用程序在 android 工作室模拟器上完美运行,但 go 无法通过物理设备上的加载屏幕

[英]Flutter app runs perfectly on android studio emulator but doesn't go past the loading screen on physical device

我创建了一个简单的 flutter 应用程序来告诉我天气使用天气 API 和 HTTP ZEFE90A8E604A7C840E88D03. 该应用程序在我的模拟设备上按预期运行,为了在物理设备上进行测试,我使用“flutter build ask”构建了一个胖 apk。 不幸的是,该应用程序不会 go 超过物理设备上的加载屏幕(我已经在多个设备上对其进行了测试)。

android 清单

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="co.appbrewery.clima">

<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.INTERNET"/>
</manifest>

载入画面

import 'package:clima/services/weather.dart';
import 'package:flutter/material.dart';
import 'location_screen.dart';
import 'package:flutter_spinkit/flutter_spinkit.dart';

class LoadingScreen extends StatefulWidget {
  @override
  _LoadingScreenState createState() => _LoadingScreenState();
}

class _LoadingScreenState extends State<LoadingScreen> {
  @override
  void initState() {
    super.initState();
    getlocationdata();
  }

  void getlocationdata() async {
    WeatherModel weatherModel = WeatherModel();
    var weatherdata = await weatherModel.getlocationweather();
    Navigator.push(context, MaterialPageRoute(builder: (context) {
      return LocationScreen(
        locationweather: weatherdata,
      );
    }));
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: Center(
        child: SpinKitChasingDots(
          color: Colors.white,
          size: 50,
        ),
      ),
    );
  }
}

怎么了? 我被困住了。 任何帮助,将不胜感激!

你可以这样处理:

getlocationdata(); 然后用flutter run

如果它有效,请在调试模式下查看为什么它不起作用。 如果它仍然不起作用,请尝试将SpinKitChasingDots替换为Text("test")

祝你好运

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM