Android - แตะปุ่มโฮมสองครั้งเป็นการกระทำเริ่มต้น

ฉันกำลังใช้แอปพลิเคชัน Android อยู่ในขณะนี้ เมื่อฉันกดปุ่มโฮม/ภาพรวม แอปพลิเคชั่นจะหยุดชั่วคราวตามค่าเริ่มต้น (แสดงภาพรวมแอปพลิเคชั่นสำหรับอันที่สอง) ฉันสังเกตเห็นว่าแอปพลิเคชันส่วนใหญ่ในเวอร์ชัน Android ล่าสุดให้ความสามารถในการแตะสองครั้งที่ปุ่มหน้าแรกและปุ่มภาพรวม โดยเฉพาะเมื่อกดปุ่มโฮม/ภาพรวม ข้อความแจ้งเตือนจะปรากฏขึ้น แตะอีกครั้งเพื่อออก นี่เป็นการกระทำเริ่มต้นของปุ่มหน้าแรก/ภาพรวมหรือไม่ หากเป็นเช่นนั้น ฉันจะเปิดใช้งานในแอปพลิเคชันของฉันได้อย่างไร ถ้าไม่ ฉันจะแทนที่พฤติกรรมเริ่มต้นได้หรือไม่ มีการกล่าวถึงในโพสต์ต่างๆ ว่าไม่มีความสามารถในการแทนที่การทำงานของปุ่มหน้าแรก/ภาพรวม เนื่องจากเป็นค่าเริ่มต้นของระบบ (นั่นคือสาเหตุที่ไม่มีวิธีการจัดการเช่น onBackPressed สำหรับปุ่มย้อนกลับ)


person Alexandros Mavrommatis    schedule 12.12.2020    source แหล่งที่มา
comment
ไม่ ฉันหมายถึงปุ่มโฮมและปุ่มภาพรวม (นั่นคือสาเหตุว่าทำไมไม่มีวิธีการจัดการเช่น onBackPressed สำหรับปุ่มย้อนกลับ) แอปพลิเคชันเต็มหน้าจอส่วนใหญ่ที่ฉันติดตั้งในโทรศัพท์ของฉัน มีความสามารถในการแสดงข้อความโทสต์เมื่อกดปุ่มโฮมหรือปุ่มภาพรวม   -  person Alexandros Mavrommatis    schedule 12.12.2020
comment
นอกจากนี้ แอปพลิเคชันทั้งหมดเหล่านี้ได้รับข้อความอวยพรเริ่มต้นสำหรับการออกซึ่งขึ้นอยู่กับภาษาของระบบโทรศัพท์ มีใครสามารถค้นหาข้อความเริ่มต้นของระบบผ่านแอพได้หรือไม่   -  person Alexandros Mavrommatis    schedule 12.12.2020
comment
พวกเขาอาจแสดงคำอวยพรด้านในเมื่อหยุดชั่วคราวหรือดำเนินการต่อ ในส่วนของภาษามันเป็นสตริง   -  person Prince Ali    schedule 12.12.2020
comment
@PrinceAli คุณพูดเกี่ยวกับภาษามันเป็นสตริง คุณหมายถึงสตริงเริ่มต้นของระบบอยู่ที่ไหนสักแห่ง หรือสตริงที่กำหนดไว้ในโค้ดหรือเป็นค่าใน strings.xml ฉันค่อนข้างแน่ใจว่านี่ไม่ใช่อันที่สอง เนื่องจากฉันได้ทดสอบแอปพลิเคชั่นต่าง ๆ ใช้งานในภาษาต่าง ๆ และพวกเขาแสดงข้อความโทสต์ทางออกในภาษาของระบบ ตัวอย่างเช่น ฉันเปลี่ยนภาษาโทรศัพท์เป็นภาษาฝรั่งเศส และข้อความแจ้งทางออกแสดงเป็นภาษาฝรั่งเศสสำหรับแอปพลิเคชันที่ใช้เป็นภาษาอังกฤษและภาษาอื่นๆ (แต่ไม่ใช่ภาษาฝรั่งเศส)   -  person Alexandros Mavrommatis    schedule 12.12.2020
comment
คุณจะบอกได้อย่างไรว่าการแปลภาษาฝรั่งเศสไม่ได้ถูกนำมาใช้ใน strings.xml   -  person Prince Ali    schedule 12.12.2020
comment
@PrinceAli เพราะฉันทดสอบแอปพลิเคชันภาษากรีกด้วยซึ่งใช้งานในภาษากรีกเท่านั้น ไม่มีทางที่นักพัฒนาจะสร้างแอปพลิเคชั่นนี้เป็นภาษากรีก แต่ได้สร้างไฟล์ strings.xml อื่น ๆ สำหรับข้อความ exit toast เท่านั้น ฉันยังทดสอบแอปพลิเคชันดังกล่าวสำหรับภาษาระบบภาษาจีนด้วยและใช้งานได้ โปรดอย่าบอกฉันว่านักพัฒนาชาวกรีกสร้าง strings.xml เป็นภาษาจีนเฉพาะสำหรับข้อความ exit toast :P   -  person Alexandros Mavrommatis    schedule 12.12.2020
comment
ในกรณีนั้น อาจมีการใช้ android.R.string.some_default_string แต่ไม่รู้สิ!   -  person Prince Ali    schedule 12.12.2020


คำตอบ (1)


ใน MainActivity ของคุณ ภายในเมธอด onPause/onResume

@Override
    protected void onPause() {
        showToast("You paused the activity");
        super.onPause();
    }
    
    @Override
    protected void onResume() {
        showToast("You resumed the activity");
        super.onResume();
    }
    
    
    private void showToast(String str) {
        Toast.makeText(getApplicationContext(), str, Toast.LENGTH_SHORT).show();
    }

วิธีการก่อนหน้านี้จะแสดงข้อความแจ้งว่าคุณหยุดกิจกรรมชั่วคราวเมื่อคุณกดปุ่มย้อนกลับ หน้าแรก หรือปุ่มภาพรวม (เปิดหยุดชั่วคราว) ในทำนองเดียวกัน หากคุณกลับเข้าสู่แอปอีกครั้ง แอปจะแสดงว่าคุณทำกิจกรรมต่อ

person Prince Ali    schedule 12.12.2020
comment
อย่างที่คุณพูด สิ่งนี้จะแสดงข้อความแจ้งเตือนเมื่อแอปพลิเคชันหยุดชั่วคราว ไม่ใช่เมื่อกดปุ่มโฮมหรือปุ่มภาพรวม ฉันต้องการฟังก์ชันที่แสดงการกล่าวอวยพรเมื่อกดปุ่มต่างๆ ในกรณีที่แอปพลิเคชันถูกหยุดชั่วคราวเนื่องจากเหตุผลอื่น (เช่น คุณออกจากแอปพลิเคชันเนื่องจากมีการโทร) ฉันไม่ต้องการให้แสดงข้อความอวยพร ฉันมั่นใจอย่างแน่นอนว่าสิ่งนี้เป็นไปได้เนื่องจากมีแอปพลิเคชันจำนวนมากที่ติดตั้งในโทรศัพท์ของฉันรองรับฟังก์ชันนี้ - person Alexandros Mavrommatis; 12.12.2020
comment
สมเหตุสมผลดี แต่ฉันไม่พบสิ่งใดที่อนุญาตให้แอปใช้ปุ่มโฮมได้ อย่างน้อยก็ยังไม่ได้ - person Prince Ali; 12.12.2020