ตัวอย่างนี้สาธิตวิธีรับบริบทกิจกรรมเบื้องหน้าปัจจุบันใน Android
ขั้นตอนที่ 1 − สร้างโครงการใหม่ใน Android Studio ไปที่ไฟล์ ⇒ โครงการใหม่และกรอกรายละเอียดที่จำเป็นทั้งหมดเพื่อสร้างโครงการใหม่
ขั้นตอนที่ 2 − เพิ่มรหัสต่อไปนี้ใน src/MyApp.java
แพ็คเกจ app.tutorialspoint.com.sample;import android.app.Activity;import android.app.Application; MyApp คลาสสาธารณะขยายแอปพลิเคชัน { กิจกรรมส่วนตัว mCurrentActivity =null; @แทนที่โมฆะสาธารณะ onCreate () { super .onCreate(); } กิจกรรมสาธารณะ getCurrentActivity () { ส่งคืน mCurrentActivity; } โมฆะสาธารณะ setCurrentActivity (กิจกรรม mCurrentActivity) { นี่ . mCurrentActivity =mCurrentActivity; }}
ขั้นตอนที่ 3 − เพิ่มรหัสต่อไปนี้ใน src/MyBaseActivity.java
แพ็คเกจ app.tutorialspoint.com.sample;นำเข้า android.app.Activity;นำเข้า android.os.Bundle;นำเข้า android.support.v7.app.AppCompatActivity;คลาสสาธารณะ MyBaseActivity ขยาย AppCompatActivity { ป้องกัน MyApp mMyApp; โมฆะสาธารณะ onCreate (Bundle saveInstanceState) { super .onCreate (savedInstanceState); mMyApp =(MyApp) .getApplicationContext() นี้; } ป้องกันโมฆะ onResume () { super .onResume(); mMyApp .setCurrentActivity( นี่ ); } ป้องกันโมฆะ onPause () { clearReferences(); ซูเปอร์ .onPause(); } ป้องกันโมฆะ onDestroy () { clearReferences(); สุดยอด .onDestroy(); } โมฆะส่วนตัว clearReferences () { กิจกรรม currActivity =mMyApp .getCurrentActivity(); ถ้า ( .equals(currActivity)) mMyApp .setCurrentActivity( null ); }}
ขั้นตอนที่ 4 − เพิ่มรหัสต่อไปนี้ใน src/MainActivity.java
แพ็คเกจ app.tutorialspoint.com.sample;import android.app.Activity;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;คลาสสาธารณะ MainActivity ขยาย AppCompatActivity { @Override ป้องกันเป็นโมฆะ onCreate (Bundle saveInstanceState) { super .onCreate (savedInstanceState); setContentView(R.layout. activity_main ); กิจกรรม currentActivity =((MyApp) getApplicationContext()).getCurrentActivity(); }}
ขั้นตอนที่ 5 − เพิ่มรหัสต่อไปนี้ใน androidManifest.xml
<ก่อน> เวอร์ชัน xml ="1.0" การเข้ารหัส ="utf-8" ?>