суббота, 17 мая 2014 г.

Как определить, установленно приложение на SD карту или во внутренюю память

Если у вас возникла необходимость по тем или иным причинам выяснить, куда пользователь установил ваше приложение (во внутреннюю или внешнюю память),
то сделать это можно так:


public static boolean isExternal(Context context) {
     
     PackageManager pm = context.getPackageManager();
     final String THIS_PACKAGE = context.getPackageName();
     
     try {
      ApplicationInfo applicationInfo = pm.getApplicationInfo(THIS_PACKAGE, 0);
      int flags = applicationInfo.flags;
      final boolean isExternal = (flags & ApplicationInfo.FLAG_EXTERNAL_STORAGE) == ApplicationInfo.FLAG_EXTERNAL_STORAGE;
      Log.d(TAG, "Utils, isExternal="+ isExternal);
      return isExternal;
     } catch (NameNotFoundException e) {
      Log.d(TAG, "Unreal condition: package does not exist for this application.",e);
     }
     return false;
    }

Комментариев нет:

Отправить комментарий