Flutter 应用程序在 android studio 模拟器上完美运行,但不会超过物理设备上的加载屏幕
Posted
技术标签:
【中文标题】Flutter 应用程序在 android studio 模拟器上完美运行,但不会超过物理设备上的加载屏幕【英文标题】:Fluttter app runs perfectly on android studio emulator but doesn't go past the loading screen on physical device 【发布时间】:2020-08-08 12:23:43 【问题描述】:我创建了一个简单的颤振应用程序,使用天气 api 和 http 包告诉我当前天气。该应用程序在我的模拟设备上按预期运行,为了在物理设备上进行测试,我使用flutter build apk
构建了一个胖 apk。不幸的是,该应用无法通过物理设备上的加载屏幕(我已经在多个设备上进行了测试)。
安卓清单
<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,
),
),
);
怎么了?我被困住了。任何帮助将不胜感激!
【问题讨论】:
你在物理设备上以调试模式运行它吗? 是的,我做到了,它在那里工作。当我在设备上安装 apk 时不起作用。 @YoavGenish ... 可能只是权限问题 尝试删除设备上的apk abd完全重新安装 【参考方案1】:你可以这样处理:
用getlocationdata();
评论该行
然后用flutter run
运行
如果有效,请在调试模式下查看为什么无效。
如果还是不行,那就试试把SpinKitChasingDots
换成Text("test")
吧。
祝你好运
【讨论】:
以上是关于Flutter 应用程序在 android studio 模拟器上完美运行,但不会超过物理设备上的加载屏幕的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Flutter 应用程序中显示原生 Android 视图?
Flutter:在 web 、android 和 ios 中使用相同的应用程序
Flutter - 在移动应用程序上运行 MATLAB 函数(主要 Android)