getScreenTimeData method
Ekran süresi verilerini getirir
Implementation
Future<String> getScreenTimeData() async {
try {
if (!Platform.isIOS) {
return 'Bu özellik sadece iOS cihazlarda kullanılabilir.';
}
final now = DateTime.now();
final oneWeekAgo = now.subtract(const Duration(days: 7));
final Map<String, dynamic>? usageData =
await _channel.invokeMapMethod<String, dynamic>(
'getScreenTimeData',
{
'startDate': oneWeekAgo.millisecondsSinceEpoch,
'endDate': now.millisecondsSinceEpoch,
},
);
if (usageData != null && usageData.isNotEmpty) {
final buffer = StringBuffer();
buffer.writeln('Başlangıç: ${oneWeekAgo.toString()}');
buffer.writeln('Bitiş: ${now.toString()}\n');
usageData.forEach((app, duration) {
final hours = (duration as int) ~/ 3600;
final minutes = ((duration as int) % 3600) ~/ 60;
buffer.writeln('$app: ${hours}s ${minutes}dk');
});
return buffer.toString();
}
return 'Kullanım verisi bulunamadı.';
} catch (e) {
return 'Hata oluştu: $e';
}
}