ฉันต้องการรับการถ่ายทอดการเปิดกล้อง ฉันต้องการบล็อกกระบวนการนั้นหากเงื่อนไขบางประการเป็นจริง
ฉันไม่ได้รับการถ่ายทอดเมื่อมีการเปิดกล้อง (ฉันสามารถออกอากาศเพื่อถ่ายรูปใหม่ได้ซึ่งไม่ใช่สิ่งที่ฉันต้องการ)
นี่คือส่วนหนึ่งของไฟล์รายการของฉัน:
<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>
นี่คือส่วนหนึ่งของไฟล์ 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();
}
ฉันค้นหาสิ่งนี้ใน google และ stackverflow ตลอดทั้งวัน และฉันก็ลองแต่ละชุดแล้ว แต่ฉันไม่ได้รับการถ่ายทอดเมื่อมีการเปิดกล้อง
ฉันใช้แท็บ Samsung Galaxy ในการทดสอบ ซึ่งไม่มีปุ่มกล้องฮาร์ดแวร์
และหนึ่งคำตอบในคำถามนี้ ก>บอกว่าอย่างนั้น
คุณไม่สามารถ: เจตนาจะถูกสร้างขึ้นโดยปุ่มกล้องฮาร์ดแวร์เท่านั้น ไม่ใช่โดยปุ่มภายในแอปกล้อง
มีอะไรผิดปกติในตัวกรองเจตนาของไฟล์ Manifest ของฉันหรือไม่ หรือเป็นปัญหาเนื่องจากอุปกรณ์ไม่มีปุ่มกล้องฮาร์ดแวร์?