有没有一种方法可以获取android和ios的设备ID ,因为当我使用device_info插件为android获取
时,会这样说:MissingPluginException(未找到方法的实现 在通道plugins.flutter.io/device_info上获取AndroidDeviceInfo)
答案 0 :(得分:2)
事实证明,您实际上并不需要软件包来获取设备信息的所有功能都在名为flutter.io的flutter类中。
您只需将以下代码作为导入即可使用它:
class HomeFragment : BaseFragment<FragmentHomeBinding>() {
override fun onResume() {
super.onResume()
if (firstTime) {
Handler().postDelayed({
binding.finalHomeFragment.setTransitionDuration(1)
binding.finalHomeFragment.transitionToEnd()
binding.view.visibility = View.GONE
binding.buttonLayout.visibility = View.GONE
setTransition()
}, 0)
firstTime = false
} else {
Handler().postDelayed({
binding.finalHomeFragment.setTransitionDuration(1500)
binding.finalHomeFragment.transitionToEnd()
}, 0)
}
private fun setTransition() {
val autoTransition = AutoTransition()
autoTransition.duration = 500
TransitionManager.beginDelayedTransition(binding.container,
autoTransition)
val set = ConstraintSet()
set.clone(binding.container)
set.setVisibility(binding.buttonLayout.id, View.VISIBLE)
set.setVisibility(binding.view.id, View.VISIBLE)
set.applyTo(binding.container)
}
}
然后执行您可以使用的平台特定代码:
import 'dart:io' show Platform;
答案 1 :(得分:1)
device_id 插件现在也可以在iPhone上正常使用。
由他们修复的错误,也更新为Swift 4.1.x
要检索ID,只需导入(import 'package:device_id/device_id.dart';
)并调用
String device_id = await DeviceId.getID;
您可以查看更改日志here
答案 2 :(得分:0)
让我通过device_info插件对此进行解释。
第1步添加依赖项
dependencies:
flutter:
sdk: flutter
device_info: ^0.4.0+1
第2步开始导入文件
import 'package:device_info/device_info.dart';
第3步创建一个异步函数以返回设备ID。
deviceInfo() async{
DeviceInfoPlugin deviceInfo = DeviceInfoPlugin();
AndroidDeviceInfo androidInfo = await deviceInfo.androidInfo;
return androidInfo.id;
}
步骤4创建一个FutureBuilder()来显示设备ID或执行任何操作。
FutureBuilder(
future: deviceInfo(),
builder: (BuildContext context, AsyncSnapshot snap){
// do nothing...
if (snap.hasData){
//your logic goes here.
}else {
return new CircularProgressIndicator();
}
},
)
希望对您有所帮助。
答案 3 :(得分:0)
在pubspec.yaml中添加版本,如下所示,然后单击“获取依赖项”。
device_id: ^0.2.0
添加导入语句
import 'package:device_id/device_id.dart';
并致电
String device_id = await DeviceId.getID;