flutter_feedback 1.1.0
flutter_feedback: ^1.1.0 copied to clipboard
Flutter plugin untuk mengambil screenshot dari sebuah halaman yang sedang aktif. Support untuk Android & iOS.
Flutter Feedback Plugin #
Plugin Flutter yang berfungsi untuk mengambil screenshot dari halaman yang sedang aktif. Plugin ini support untuk platform Android & iOS.
Setup #
Android #
Untuk platform Android plugin ini memerlukan permission WRITE_EXTERNAL_STORAGE
. Oleh karena itu, kamu perlu tambahkan permission tersebut didalam file AndroidManifest.xml seperti berikut.
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
package="id.net.nusa.plugin.flutter_feedback_example">
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
</manifest>
iOS #
Untuk platform iOS plugin ini memerlukan permission NSPhotoLibraryAddUsageDescription
. Oleha karena itu, kamu perlu tambahkan permission tersebut didalam file Info.plist seperti berikut.
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
...
<key>NSPhotoLibraryAddUsageDescription</key>
<string>Take pretty screenshots and save it to the PhotoLibrary.</string>
</dict>
</plist>
Cara Pakai #
Untuk menggunakan plugin ini sangatlah mudah. Kamu cukup panggil saja fungsi takeScreenshot(context)
dan cek nilai return-nya apakah outputnya sukses atau gagal.
Contoh lengkapnya bisa kamu lihat di projek example.
final flutterFeedback = FlutterFeedback();
final result = await flutterFeedback.takeScreenshot(context);
switch (result!.status) {
case Status.success:
// Screenshot berhasil disimpan.
// Ini contoh jika mau mengarahkan ke halaman preview image hasil screenshot-nya.
Navigator.of(context).push(
MaterialPageRoute(
builder: (BuildContext context) {
return PreviewImagePage(File(result.path!));
},
),
);
break;
case Status.denied:
_showSnackbBar('Permission denied');
break;
case Status.restricted:
_showSnackbBar('Permission restricted');
break;
case Status.permanentlyDenied:
_showSnackbBar('Permission denied permanently');
break;
case Status.fileNotFound:
_showSnackbBar('File screenshot not found');
break;
case Status.unknown:
_showSnackbBar('Unknown');
break;
}