Search code examples
androidandroid-context

Static way to get 'Context' in Android?


Is there a way to get the current Context instance inside a static method?

I'm looking for that way because I hate saving the 'Context' instance each time it changes.


Solution

  • Do this:

    In the Android Manifest file, declare the following.

    <application android:name="com.xyz.MyApplication">
    
    </application>
    

    Then write the class:

    public class MyApplication extends Application {
    
        private static Context context;
    
        public void onCreate() {
            super.onCreate();
            MyApplication.context = getApplicationContext();
        }
    
        public static Context getAppContext() {
            return MyApplication.context;
        }
    }
    

    Now everywhere call MyApplication.getAppContext() to get your application context statically.