Aplikasi tidak menerima siaran untuk kamera yang dibuka

Saya ingin menerima siaran saat kamera dibuka. Saya ingin memblokir proses itu jika beberapa kondisi benar.

Saya tidak menerima siaran karena kamera dibuka. (Saya bisa mendapatkan siaran untuk gambar baru yang diambil, dan ini bukan yang saya inginkan.)

Ini adalah bagian dari file manifes saya:

<receiver
            android:name=".HardwareActionListener"
            android:enabled="true"
            android:exported="true" >
            <intent-filter android:priority="1000" >
                <action android:name="android.intent.action.CAMERA_BUTTON" >
                </action>
            </intent-filter>
</receiver>

Ini adalah bagian dari file saya HardwareActionListener.java

System.out.println("Intent action: " + intent.getAction());

if (intent.getAction().equalsIgnoreCase(
                "android.intent.action.CAMERA_BUTTON")) {
            System.out.println("CAMERA Button broadcast received and aborted");
            if(some_condition_true)
                  abortBroadcast();
        }

Saya telah mencari di Google dan Stackverflow untuk ini sepanjang hari. Dan saya mencoba setiap kombinasi. Tapi saya tidak mendapatkan siaran karena kamera dibuka.

Saya menggunakan Samsung Galaxy tab untuk pengujian. Yang tidak memiliki tombol Kamera perangkat keras.

Dan satu jawaban di pertanyaan ini mengatakan itu

Anda tidak bisa: maksudnya hanya dihasilkan oleh tombol kamera perangkat keras, bukan oleh tombol dalam aplikasi kamera.

Jadi apakah ada yang salah dalam filter maksud file manifes saya? Atau masalahnya karena perangkat tidak memiliki tombol kamera perangkat keras?


person MysticMagicϡ    schedule 19.11.2012    source sumber
comment
Apakah maksud Anda ingin diberi tahu saat aplikasi kamera default terbuka? Atau ketika ada aplikasi yang mencoba mengakses pratinjau kamera? Bagaimanapun nama android.intent.action.CAMERA_BUTTON cukup jelas: Anda mendapat pemberitahuan ketika tombol kamera fisik ditekan (jika ada)   -  person sdabet    schedule 19.11.2012
comment
Saat pengguna mencoba membuka kamera.   -  person MysticMagicϡ    schedule 19.11.2012
comment
Ada banyak cara kamera dapat dibuka. Saya rasa Anda tidak dapat diberi tahu ketika aplikasi apa pun menampilkan pratinjau kamera.   -  person sdabet    schedule 19.11.2012
comment
Ada ikon untuk aplikasi kamera di perangkat dengan semua aplikasi lainnya. Saya ingin memblokir pengguna untuk membuka kamera itu   -  person MysticMagicϡ    schedule 19.11.2012
comment
@MysticMagicϡ bisakah Anda menjelaskan secara singkat bagaimana Anda melakukannya menggunakan Device Policy Manager   -  person Yogesh Seralia    schedule 07.10.2015


Jawaban (1)


Saya ingin menerima siaran saat kamera dibuka.

Tidak ada siaran seperti itu.

Saya ingin memblokir proses itu jika beberapa kondisi benar.

Silakan gunakan API admin perangkat untuk mengontrol akses ke kamera.

Ini adalah bagian dari file manifes saya

Anda mendengarkan penekanan tombol KAMERA, yang mungkin ada hubungannya atau tidak dengan aplikasi kamera, dan tidak ada di semua perangkat.

Tapi saya tidak mendapatkan siaran karena kamera dibuka.

Itu karena tidak ada siaran seperti itu.

Dan salah satu jawaban dalam pertanyaan ini mengatakan bahwa "Anda tidak bisa: maksudnya hanya dihasilkan oleh tombol kamera perangkat keras, bukan oleh tombol dalam aplikasi kamera."

Jawaban itu benar.

person CommonsWare    schedule 19.11.2012
comment
Terima kasih. Mampu melakukannya menggunakan Device Policy Manager - person MysticMagicϡ; 20.11.2012