วิธีเปิด MainActivity หรือ HomeActivity ทุกครั้งเมื่อผู้ใช้เปิดกิจกรรม Deep Link แล้วกดปุ่มย้อนกลับ

วิธีเปิด MainActivity บน BackPressed หรือการกดปุ่มย้อนกลับเมื่อเปิดกิจกรรม Deep Link

สมมติว่าเรามีกิจกรรม

www.xyz.com/abc - URL ที่เป็น Deep Link

เมื่อผู้ใช้คลิกที่ URL นี้ ABCActivity ถูกเปิด แต่เมื่อกดด้านหลังแอปก็ถูกปิด วิธีเปิด HomeActivity หรือ MainActivity


person Shailendra Sachan    schedule 24.07.2017    source แหล่งที่มา
comment
คุณสามารถแทนที่ฟังก์ชัน onBackPressed() ได้   -  person Ankur_009    schedule 24.07.2017


คำตอบ (3)


คุณต้องเปิดตัว The MainActivity ก่อน และหลังจากนั้น คุณจะมีข้อมูลจากที่ที่คุณสามารถตรวจสอบกิจกรรมที่คุณต้องการเปิดได้

กิจกรรมสตริง=referrer.getString("TAG");

ส่ง Intent จาก MainActivity ไปยังกิจกรรมที่คุณต้องการเปิด ตอนนี้ใน Stack จะมี 2 กิจกรรม หลังจากกดกลับ Main Activity จะเปิดขึ้น

person Renuka Kapil    schedule 24.07.2017
comment
เป็นไปได้ไหมที่จะทำสิ่งนี้ให้สำเร็จด้วยธงเจตนา - person Shailendra Sachan; 24.07.2017

คุณต้องตรวจสอบเริ่มต้นลิงก์ปกติหรือลึกและใน onBackPress ใช้สิ่งนี้

   @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        //...
        if (savedInstanceState == null) {
            Bundle extras = getIntent().getExtras();
            if (extras != null) {
                isStartFromDeepLink = extras.getBoolean("isStartFromDeepLink", false);
            }
        }
    }


    @Override
    public void onBackPressed() {
        if(isStartFromDeepLink){
           startActivity(new Intent(this,MainActivity.class));
        }else{
           finish()
        }
    }
person Rasoul Miri    schedule 24.07.2017

เราสามารถแก้ไขปัญหาได้โดยใช้รหัสนี้

        <meta-data
            android:name="android.support.PARENT_ACTIVITY"
            android:value=".MainActivity"/>
person Shailendra Sachan    schedule 27.07.2017