Syntax error How to get current foreground activity context in Android?

How to get current foreground activity context in Android?



This example demonstrate about How to get current foreground activity context in Android

Step 1 − Create a new project in Android Studio, go to File ⇒ New Project and fill all required details to create a new project.

Step 2 − Add the following code to src/MyApp.java

package app.tutorialspoint.com.sample ;
import android.app.Activity ;
import android.app.Application ;
public class MyApp extends Application {
   private Activity mCurrentActivity = null;
   @Override
   public void onCreate () {
      super .onCreate() ;
   }
   public Activity getCurrentActivity () {
      return mCurrentActivity ;
   }
   public void setCurrentActivity (Activity mCurrentActivity) {
      this . mCurrentActivity = mCurrentActivity ;
   }
}

Step 3 − Add the following code to src/MyBaseActivity.java

package app.tutorialspoint.com.sample ;
import android.app.Activity ;
import android.os.Bundle ;
import android.support.v7.app.AppCompatActivity ;
public class MyBaseActivity extends AppCompatActivity {
   protected MyApp mMyApp ;
   public void onCreate (Bundle savedInstanceState) {
      super .onCreate(savedInstanceState) ;
      mMyApp = (MyApp) this .getApplicationContext() ;
   }
   protected void onResume () {
      super .onResume() ;
      mMyApp .setCurrentActivity( this ) ;
   }
   protected void onPause () {
      clearReferences() ;
      super .onPause() ;
   }
   protected void onDestroy () {
      clearReferences() ;
      super .onDestroy() ;
   }
   private void clearReferences () {
      Activity currActivity = mMyApp .getCurrentActivity() ;
      if ( this .equals(currActivity))
         mMyApp .setCurrentActivity( null ) ;
   }
}

Step 4 − Add the following code to src/MainActivity.java

package app.tutorialspoint.com.sample ;
import android.app.Activity ;
import android.support.v7.app.AppCompatActivity ;
import android.os.Bundle ;
public class MainActivity extends AppCompatActivity {
   @Override
   protected void onCreate (Bundle savedInstanceState) {
      super .onCreate(savedInstanceState) ;
      setContentView(R.layout. activity_main ) ;
      Activity currentActivity = ((MyApp)
      getApplicationContext()).getCurrentActivity() ;
   }
}

Step 5 − Add the following code to androidManifest.xml

<? xml version= "1.0" encoding= "utf-8" ?>
<manifest xmlns: android = "http://schemas.android.com/apk/res/android"
   package= "app.tutorialspoint.com.sample" >
   <uses-permission android :name= "android.permission.CALL_PHONE" />
   <application
      android :name= ".MyApp"
      android :allowBackup= "true"
      android :icon= "@mipmap/ic_launcher"
      android :label= "@string/app_name"
      android :roundIcon= "@mipmap/ic_launcher_round"
      android :supportsRtl= "true"
      android :theme= "@style/AppTheme" >
      <activity android :name= ".MainActivity" >
         <intent-filter>
            <action android :name= "android.intent.action.MAIN" />
            <category android :name= "android.intent.category.LAUNCHER" />
         </intent-filter>
      </activity>
      <activity android :name= ".MyBaseActivity" />
   </application>
</manifest>
Updated on: 2019-07-30T22:30:26+05:30

6K+ Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements