Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/205.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android I';我试图在flatter中调用小部件中的函数,但什么也没发生_Android_Android Studio_Flutter_Dart - Fatal编程技术网

Android I';我试图在flatter中调用小部件中的函数,但什么也没发生

Android I';我试图在flatter中调用小部件中的函数,但什么也没发生,android,android-studio,flutter,dart,Android,Android Studio,Flutter,Dart,我在android Studio上构建了一个应用程序,它使用dart和Flatter与一些android摄像头功能进行交互。 我对飞镖和颤振不是很有经验,我还在学习过程中 class SwitchWidget扩展了StatefulWidget{ @凌驾 SwitchWidgetClass createState()=>新的SwitchWidgetClass(); } 每当我调用Torch.turon()时,都不会发生任何事情,我也不知道为什么。我尝试了很多方法,但仍然一无所获 我试图调用的函数

我在android Studio上构建了一个应用程序,它使用dart和Flatter与一些android摄像头功能进行交互。 我对飞镖和颤振不是很有经验,我还在学习过程中

class SwitchWidget扩展了StatefulWidget{
@凌驾
SwitchWidgetClass createState()=>新的SwitchWidgetClass();
}
每当我调用
Torch.turon()
时,都不会发生任何事情,我也不知道为什么。我尝试了很多方法,但仍然一无所获

我试图调用的函数来自这个名为torch的函数。此软件包用于打开和关闭android相机手电筒

我使用的这个包的主文件具有以下代码:

导入'dart:async';
导入“包:flifter/services.dart”;
班级火炬{
静态const MethodChannel _channel=const MethodChannel('io.siteplan.plugins/torch');
静态未来开启();
静态未来关闭()=>\u channel.invokeMethod(“关闭”);
静态Future get hasTorch async=>await_channel.invokeMethod('hasTorch');
静态未来闪烁(持续时间)=>打开()。完成时(()=>未来。延迟(持续时间,()=>关闭());
}
我在名为
homepage.dart的自定义dart文件中编写了此语句下方的代码

导入“包装:颤振/材料.省道”;
进口“包装:火炬/火炬.飞镖”;
/**
*主页StatefulWidget在这里!
*/
类SwitchWidgetClass扩展状态{
布尔开关控制=假;
var textHolder='开关关闭';
无效切换开关(布尔值){
if(switchControl==false){
设置状态(){
开关控制=真;
textHolder='开关打开';
});
打印(“开关打开”);
手电筒。打开();
}否则{
设置状态(){
开关控制=假;
textHolder='开关关闭';
});
打印(“开关关闭”);
手电筒。关闭();
}
}
@凌驾
小部件构建(构建上下文){
返回列(mainAxisAlignment:mainAxisAlignment.center,子项:[
变换比例(
比例:1.5,
孩子:开关(
一旦更改:切换开关,
值:开关控制,
activeColor:Colors.blue,
activeTrackColor:Colors.green,
颜色:颜色。白色,
颜色:颜色。灰色,
)),
正文(
“$textHolder”,
样式:TextStyle(字体大小:24),
)
]);
}
}

我想要的是,当我调用
Torch.turn()
方法时,它应该工作并打开相机手电筒

要使用Torch,必须导入“Torch.dart”包;在Android和iOS上访问该设备火炬的Flitter插件

进口“包装:火炬/火炬.飞镖”


尝试将此权限添加到Android中的清单文件中

<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.hardware.camera.any" />
<uses-permission android:name="android.permission.CAMERA" />
<uses-feature android:name="android.hardware.camera" />
<uses-permission android:name="android.permission.FLASHLIGHT" />
<uses-feature android:name="android.hardware.camera.flash" /> 


我已经测试过你的代码,效果很好。热重新加载不起作用,您必须重新安装应用程序。手电筒打开了吗?因为我重新安装了应用程序,我只看到更新的UI更改,但手电筒仍然没有打开。是的。闪光灯打开和关闭。它很好用。我有三星s7 edge andoid 9.0。我想这是android版本的问题。。。我在android-v8上试用过这个应用程序,一切都很好。早些时候,我在android-v5上测试这个应用程序。谢谢你的回复。哦你认为我能做些什么来让这个应用程序也在7以下的android版本上运行吗?如果这个插件不能在所有设备上运行,请创建你自己的Flitter插件,并在android端选择一个运行完美的库。然后通过方法通道与颤振进行通信。