Android APK Information Get getAppContext()

Here you can find the source of getAppContext()


get App Context


Apache License


public static Context getAppContext() 

Method Source Code

//package com.java2s;
/**//  w  w  w  .  j  a  v a 2s  .c  om
 *  Copyright (C) 2012 Hyperionics Technology LLC <>
 *  Licensed under the Apache License, Version 2.0 (the "License");
 *  you may not use this file except in compliance with the License.
 *  You may obtain a copy of the License at
 *  Unless required by applicable law or agreed to in writing, software
 *  distributed under the License is distributed on an "AS IS" BASIS,
 *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 *  See the License for the specific language governing permissions and
 *  limitations under the License.


import android.content.Context;

import java.lang.reflect.Method;

public class Main {
    private static Application myApp = getApp();

    public static Context getAppContext() {
        if (getApp() != null)
            return getApp().getApplicationContext();
        return null;

    public static Application getApp() {
        if (myApp == null) {
            try {
                final Class<?> activityThreadClass = Class
                final Method method = activityThreadClass
                myApp = (Application) method.invoke(null, (Object[]) null);
            } catch (Exception e) {
                // handle exception
        // below gives me /mnt/sdcard/Android/data/com.hyperionics.pdfxTest/cache/tmpPdfx
        // File file = new File(app.getApplicationContext().getExternalCacheDir(), "tmpPdfx");
        return myApp;


  1. convertToSystemApp(Context context)
  2. copyToDataApp(String apkFile)
  3. copyToSystemApp(String apkFile)
  4. getApp()
  5. getAppCacheDir(Context context)
  6. getAppInfo(Context c, String name)
  7. getAppInfo(Context c, String name)
  8. getAppLabel(Context c, int uid)
  9. getAppLabel(Context c, int uid)