Apakah mungkin untuk mencegah perekaman layar di Aplikasi Android?
Saya ingin mengembangkan Aplikasi Aman Android. Dalam hal itu saya perlu mendeteksi perangkat lunak perekaman layar yang menjalankan latar belakang dan mematikannya. Saya telah menggunakan BENDERA AMAN untuk mencegah tangkapan layar. Tapi saya tidak tahu apakah mungkin untuk mencegah perekaman Video dari Layar Android juga. Beri tahu saya cara mencegah pengambilan layar (video / tangkapan layar).
Jawaban:
Saya akan mengatakan bahwa tidak mungkin untuk sepenuhnya mencegah tangkapan layar / video dari aplikasi Android apa pun melalui cara yang didukung. Tetapi jika Anda hanya ingin memblokirnya secara normal perangkat Android , BENDERA AMAN sangat besar.
1) Bendera aman memblokir tangkapan layar normal dan pengambilan video.
Lihat jawabannya disini .
2) Ada cara alternatif untuk menangkap konten layar.
Dimungkinkan untuk menangkap layar aplikasi lain pada perangkat yang di-rooting atau melalui menggunakan SDK,
Misalnya: terdapat perangkat lunak untuk mencerminkan layar ponsel Anda ke komputer melalui SDK sehingga perangkat lunak penangkap layar dapat digunakan di sana, tidak dapat ditemukan oleh aplikasi Anda.
Lihat jawabannya disini .
sumber
Tambahkan saja baris ini:
Sebelum
setContentView()
metode Anda .sumber
Untuk menonaktifkan Tangkapan Layar:
Tambahkan baris kode berikut dalam
onCreate()
metode:Untuk mengaktifkan Tangkapan Layar:
Temukan
LayoutParams.FLAG_SECURE
dan hapus baris kode tersebut.sumber
Untuk pengguna Java, tulis baris ini di atas
setContentView(R.layout.activity_main);
Untuk pengguna kotlin
sumber
window?.set...
karena di Dialog, Anda tidak tahu apakah Anda akan memiliki Window.Tampaknya Anda tahu cara menonaktifkan tangkapan layar dari aplikasi Anda dan ada jawaban lain yang membantu Anda dalam hal itu. Tetapi saya akan mencoba memberi Anda beberapa informasi penting yang tidak diberikan siapa pun kepada Anda.
1) Anda tidak dapat memiliki aplikasi yang 100% aman dari mengambil tangkapan layar (foto / video). Tidak ada cara resmi untuk mengambil tangkapan layar di Android. Jika aplikasi merekam layar, maka itu harus menggunakan beberapa metode yang tidak didukung (baik rooting atau menggunakan SDK).
Ada sangat sedikit ruang bagi Anda untuk memblokir aplikasi jika menggunakan akses root untuk merekam layar.
2) Tidak ada yang menyebutkan masalah ini di sini, tetapi berhati-hatilah saat menggunakan
WindowManager.LayoutParams.FLAG_SECURE
. Telah diverifikasi di banyak perangkat (seperti pada Samsung Galaxy ACE, misalnya GT-S5830), bahwa ini membuat seluruh tampilan menjadi acak. Seperti ini,Tolong beri tanda centang seperti ini,
Ini berfungsi dengan sempurna pada perangkat ICS, jadi tidak ada masalah di sana.
3) Saya juga menemukan bahwa bahkan pada perangkat yang lebih baru seperti Android 4.3, ini menyebabkan masalah animasi saat layar diputar. Silakan periksa laporan bug ini.
sumber
Anda dapat menjadikan aplikasi Anda sebagai perangkat / pemilik profil dan panggilan
setScreenCaptureDisabled()
. Dari dokumen , api ini melakukan hal berikut:Atau Anda bisa menjadi MDM (Manajemen Perangkat Seluler) aplikasi mitra OEM menyediakan API tambahan ke aplikasi mitra MDM mereka untuk mengontrol perangkat. Misalnya samsung menyediakan api untuk mengontrol perekaman layar pada perangkat ke mitra MDM mereka.
Saat ini, hanya dengan cara inilah Anda dapat menerapkan batasan tangkapan layar.
sumber
Coba ini:
sumber
Saya melihat semua jawaban yang hanya sesuai untuk satu aktivitas tetapi ada solusi saya yang akan memblokir tangkapan layar untuk semua aktivitas tanpa menambahkan kode apa pun ke aktivitas. Pertama-tama buat kelas Aplikasi Kustom dan tambahkan.
registerActivityLifecycleCallbacks
Kemudian daftarkan di manifes Anda.MyApplicationContext.class
Nyata
sumber
Menurut panduan resmi ini , Anda dapat menambahkan
WindowManager.LayoutParams.FLAG_SECURE
tata letak jendela Anda dan itu akan melarang tangkapan layar.sumber
Saya menggunakan solusi ini untuk memungkinkan snapshot manual dalam aplikasi sambil melarang tangkapan layar saat aplikasi berjalan di latar belakang, semoga membantu.
sumber
tentang tangkapan layar foto, FLAG_SECURE tidak berfungsi pada perangkat yang di-rooting.
tetapi jika Anda memantau file tangkapan layar, Anda dapat mencegah mendapatkan file asli.
coba ini satu .
1. memantau tangkapan layar (monitor file) dengan layanan jarak jauh android
2. menghapus gambar tangkapan layar asli.
3. mengirimkan instance bitmap sehingga Anda dapat memodifikasi.
sumber