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?