Java Code Examples for android.content.pm.PackageManager

The following are top voted examples for showing how to use android.content.pm.PackageManager. These examples are extracted from open source projects. You can vote up the examples you like and your votes will be used in our system to generate more good examples.
Example 1
Project: ROKOmoji.Emoji.Keyboard.App-Android   File: KeyboardService.java   View source code 9 votes vote down vote up
private static boolean requestPermissionIfNeeded(String permission, Activity activity) {
    if (ContextCompat.checkSelfPermission(activity, permission) != PackageManager.PERMISSION_GRANTED) {
        ActivityCompat.requestPermissions(activity, new String[]{permission}, 1);
        return true;
    }
    return false;
}
 
Example 2
Project: airgram   File: DialogsActivity.java   View source code 8 votes vote down vote up
@TargetApi(Build.VERSION_CODES.M)
private void askForPermissons() {
    Activity activity = getParentActivity();
    if (activity == null) {
        return;
    }
    ArrayList<String> permissons = new ArrayList<>();
    if (activity.checkSelfPermission(Manifest.permission.READ_CONTACTS) != PackageManager.PERMISSION_GRANTED) {
        permissons.add(Manifest.permission.READ_CONTACTS);
        permissons.add(Manifest.permission.WRITE_CONTACTS);
        permissons.add(Manifest.permission.GET_ACCOUNTS);
    }
    if (activity.checkSelfPermission(Manifest.permission.WRITE_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) {
        permissons.add(Manifest.permission.READ_EXTERNAL_STORAGE);
        permissons.add(Manifest.permission.WRITE_EXTERNAL_STORAGE);
    }
    String[] items = permissons.toArray(new String[permissons.size()]);
    activity.requestPermissions(items, 1);
}
 
Example 3
Project: COB   File: PermissionHelper.java   View source code 7 votes vote down vote up
private static void deliverPermissionResult(CordovaPlugin plugin, int requestCode, String[] permissions) {
    // Generate the request results
    int[] requestResults = new int[permissions.length];
    Arrays.fill(requestResults, PackageManager.PERMISSION_GRANTED);

    try {
        Method onRequestPermissionResult = CordovaPlugin.class.getDeclaredMethod(
                "onRequestPermissionResult", int.class, String[].class, int[].class);

        onRequestPermissionResult.invoke(plugin, requestCode, permissions, requestResults);
    } catch (NoSuchMethodException noSuchMethodException) {
        // Should never be caught since the plugin must be written for cordova-android 5.0.0+ if it
        // made it to this point
        LOG.e(LOG_TAG, "NoSuchMethodException when delivering permissions results", noSuchMethodException);
    } catch (IllegalAccessException illegalAccessException) {
        // Should never be caught; this is a public method
        LOG.e(LOG_TAG, "IllegalAccessException when delivering permissions results", illegalAccessException);
    } catch(InvocationTargetException invocationTargetException) {
        // This method may throw a JSONException. We are just duplicating cordova-android's
        // exception handling behavior here; all it does is log the exception in CordovaActivity,
        // print the stacktrace, and ignore it
        LOG.e(LOG_TAG, "InvocationTargetException when delivering permissions results", invocationTargetException);
    }
}
 
Example 4
Project: Dispatch   File: MainActivity.java   View source code 6 votes vote down vote up
private void getLocationPermission() {
/*
 * Request location permission, so that we can get the location of the
 * device. The result of the permission request is handled by a callback,
 * onRequestPermissionsResult.
 */
    if (ContextCompat.checkSelfPermission(this.getApplicationContext(),
            android.Manifest.permission.ACCESS_FINE_LOCATION)
            == PackageManager.PERMISSION_GRANTED) {
        mLocationPermissionGranted = true;
    } else {
        ActivityCompat.requestPermissions(this,
                new String[]{android.Manifest.permission.ACCESS_FINE_LOCATION},
                PERMISSIONS_REQUEST_ACCESS_FINE_LOCATION);
    }
}
 
Example 5
Project: AndroidBasicLibs   File: AppUtil.java   View source code 6 votes vote down vote up
/**
 * 获取渠道,用于打包
 *
 * @param context
 * @param metaName
 * @return
 */
public static String getAppSource(Context context, String metaName) {
    String result = null;
    try {
        ApplicationInfo appInfo = context.getPackageManager()
                .getApplicationInfo(context.getPackageName(),
                        PackageManager.GET_META_DATA);
        if (appInfo.metaData != null) {
            result = appInfo.metaData.getString(metaName);
        }
    } catch (PackageManager.NameNotFoundException e) {
        e.printStackTrace();
        JLog.e(e.toString());
    }
    return result;
}
 
Example 6
Project: Hands-On-Android-UI-Development   File: AttachmentPagerFragment.java   View source code 6 votes vote down vote up
public void onAttachClick() {
    final int permissionStatus = ContextCompat.checkSelfPermission(
            getContext(),
            Manifest.permission.READ_EXTERNAL_STORAGE
    );

    if (permissionStatus != PackageManager.PERMISSION_GRANTED) {
        ActivityCompat.requestPermissions(
                getActivity(),
                new String[]{Manifest.permission.READ_EXTERNAL_STORAGE},
                REQUEST_ATTACH_PERMISSION
        );

        return;
    }

    final Intent attach = new Intent(Intent.ACTION_GET_CONTENT)
            .addCategory(Intent.CATEGORY_OPENABLE)
            .setType("*/*");

    startActivityForResult(attach, REQUEST_ATTACH_FILE);
}
 
Example 7
Project: DroidPlugin   File: IPackageManagerHookHandle.java   View source code 6 votes vote down vote up
@Override
protected boolean beforeInvoke(Object receiver, Method method, Object[] args) throws Throwable {
    //API 2.3, 4.01, 4.0.3_r1,
/* public int getApplicationEnabledSetting(String packageName) throws RemoteException;*/
    //API 4.1.1_r1, 4.2_r1, 4.3_r1, 4.4_r1, 5.0.2_r1
/*public int getApplicationEnabledSetting(String packageName, int userId) throws RemoteException;*/
    if (args != null) {
        final int index = 0;
        if (args.length > index && args[index] instanceof String) {
            String packageName = (String) args[index];
            if (PluginManager.getInstance().isPluginPackage(packageName)) {
                //DO NOTHING
                setFakedResult(PackageManager.COMPONENT_ENABLED_STATE_DEFAULT);
                return true;
            }
        }
    }
    return super.beforeInvoke(receiver, method, args);
}
 
Example 8
Project: lostfilm-android-client   File: PlayerActivity.java   View source code 6 votes vote down vote up
@Override
public void onNext(DownloadLink[] downloadLinks) {
    String[] strings = new String[downloadLinks.length];
    for (int i = 0; i < downloadLinks.length; i++) {
        strings[i] = downloadLinks[i].getName();
    }
    new AlertDialog.Builder(this).setItems(strings, (dialogInterface, i) -> {
        mSelectedLink = downloadLinks[i];
        if (ActivityCompat.checkSelfPermission(this, Manifest.permission.WRITE_EXTERNAL_STORAGE) ==
                PackageManager.PERMISSION_GRANTED) {
            loadMovie();
        } else {
            ActivityCompat.requestPermissions(this,
                    new String[]{Manifest.permission.READ_EXTERNAL_STORAGE,
                            Manifest.permission.WRITE_EXTERNAL_STORAGE},
                    MY_PERMISSIONS_REQUEST_PLAY_MOVIE);
        }
    }).show();
}
 
Example 9
Project: BeaconMqtt   File: MainActivity.java   View source code 6 votes vote down vote up
private void checkPermissions() {
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
        // Android M Permission check
        if (this.checkSelfPermission(Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) {
            final AlertDialog.Builder builder = new AlertDialog.Builder(this);
            builder.setTitle(R.string.location_access_title);
            builder.setMessage(R.string.location_access_message);
            builder.setPositiveButton(android.R.string.ok, null);
            builder.setOnDismissListener(new DialogInterface.OnDismissListener() {

                @RequiresApi(api = Build.VERSION_CODES.M)
                public void onDismiss(DialogInterface dialog) {
                    requestPermissions(new String[]{Manifest.permission.ACCESS_COARSE_LOCATION}, PERMISSION_REQUEST_COARSE_LOCATION);
                }
            });
            builder.show();
        }
    }
}
 
Example 10
Project: Android-Practice   File: MainActivity.java   View source code 6 votes vote down vote up
public static String getKeyHash(final Context context) {
    PackageInfo packageInfo = getPackageInfo(context, PackageManager.GET_SIGNATURES);
    if (packageInfo == null)
        return null;

    for (Signature signature : packageInfo.signatures) {
        try {
            MessageDigest md = MessageDigest.getInstance("SHA");
            md.update(signature.toByteArray());
            return android.util.Base64.encodeToString(md.digest(), android.util.Base64.NO_WRAP);
        } catch (NoSuchAlgorithmException e) {
            //Log.w(TAG, "Unable to get MessageDigest. signature=" + signature, e);
        }
    }
    return null;
}
 
Example 11
Project: buildAPKsSamples   File: MarketDetector.java   View source code 6 votes vote down vote up
public static int detect(Context c) {
	if (Build.VERSION.SDK_INT < 5)
		return APPSTORE;
	
	PackageManager pm = c.getPackageManager();
			
	String installer = pm.getInstallerPackageName(c.getPackageName());
	
	if (installer != null && installer.equals("com.android.vending")) 
		return MARKET;
	
	if (Build.MODEL.equalsIgnoreCase("Kindle Fire")) 
		return APPSTORE;

	try {
		if (pm.getPackageInfo("com.amazon.venezia", 0) != null) 
			return APPSTORE;
	} catch (NameNotFoundException e) {
	}
	
	return MARKET;
}
 
Example 12
Project: VirtualHook   File: VPackageManagerService.java   View source code 6 votes vote down vote up
@Override
protected ResolveInfo newResult(VPackage.ServiceIntentInfo filter, int match, int userId) {
    final VPackage.ServiceComponent service = filter.service;
    PackageSetting ps = (PackageSetting) service.owner.mExtras;
    ServiceInfo si = PackageParserEx.generateServiceInfo(service, mFlags, ps.readUserState(userId), userId);
    if (si == null) {
        return null;
    }
    final ResolveInfo res = new ResolveInfo();
    res.serviceInfo = si;
    if ((mFlags & PackageManager.GET_RESOLVED_FILTER) != 0) {
        res.filter = filter.filter;
    }
    res.priority = filter.filter.getPriority();
    res.preferredOrder = service.owner.mPreferredOrder;
    res.match = match;
    res.isDefault = filter.hasDefault;
    res.labelRes = filter.labelRes;
    res.nonLocalizedLabel = filter.nonLocalizedLabel;
    res.icon = filter.icon;
    return res;
}
 
Example 13
Project: simple-share-android   File: IconUtils.java   View source code 6 votes vote down vote up
public static Drawable loadPackagePathIcon(Context context, String path, String mimeType){
 	int icon =  sMimeIcons.get(mimeType);
     if (path != null) {
         final PackageManager pm = context.getPackageManager();
try {
	final PackageInfo packageInfo = pm.getPackageArchiveInfo(path, PackageManager.GET_ACTIVITIES);
	if (packageInfo != null) {
		packageInfo.applicationInfo.sourceDir = packageInfo.applicationInfo.publicSourceDir = path;
		// know issue with nine patch image instead of drawable
		return pm.getApplicationIcon(packageInfo.applicationInfo);
	}
} catch (Exception e) {
	return ContextCompat.getDrawable(context, icon);
}
     } else {
         return ContextCompat.getDrawable(context, icon);
     }
     return null;
 }
 
Example 14
Project: Paper-Launcher   File: ApplicationInfoLoader.java   View source code 6 votes vote down vote up
public static List<ApplicationInfo> loadAppList(Context context) {
    List<ApplicationInfo> applicationInfoList = context.getPackageManager().getInstalledApplications(PackageManager.GET_META_DATA);
    Collections.sort(applicationInfoList, new ApplicationInfo.DisplayNameComparator(context.getPackageManager()));

    final ArrayList<ApplicationInfo> filteredApplicationInfoList = new ArrayList<>();
    for (ApplicationInfo applicationInfo : applicationInfoList) {
        if (context.getPackageManager().getLaunchIntentForPackage(applicationInfo.packageName) == null
                || applicationInfo.packageName.equals(context.getPackageName())) {
            continue;
        }

        filteredApplicationInfoList.add(applicationInfo);
    }

    return filteredApplicationInfoList;
}
 
Example 15
Project: ProgressManager   File: a.java   View source code 6 votes vote down vote up
private void dispatchRequestPermissionsResultToFragment(int requestCode, Intent data,
                                                        Fragment fragment) {
    // If the package installer crashed we may have not data - best effort.
    String[] permissions = (data != null) ? data.getStringArrayExtra(
            PackageManager.EXTRA_REQUEST_PERMISSIONS_NAMES) : new String[0];
    final int[] grantResults = (data != null) ? data.getIntArrayExtra(
            PackageManager.EXTRA_REQUEST_PERMISSIONS_RESULTS) : new int[0];
    fragment.onRequestPermissionsResult(requestCode, permissions, grantResults);
}
 
Example 16
Project: Clases-2017c1   File: SelectPictureActivity.java   View source code 6 votes vote down vote up
public static void grantPermissionsToUri(Context context, Intent intent, Uri uri) {
    List<ResolveInfo> resInfoList = context.getPackageManager().queryIntentActivities(intent, PackageManager.MATCH_DEFAULT_ONLY);
    for (ResolveInfo resolveInfo : resInfoList) {
        String packageName = resolveInfo.activityInfo.packageName;
        context.grantUriPermission(packageName, uri, Intent.FLAG_GRANT_WRITE_URI_PERMISSION | Intent.FLAG_GRANT_READ_URI_PERMISSION);
    }
}
 
Example 17
Project: BaseCore   File: PhoneUtils.java   View source code 6 votes vote down vote up
public static boolean checkPermission(Context context, String permission) {
    boolean result = false;
    if (Build.VERSION.SDK_INT >= 23) {
        try {
            Class<?> clazz = Class.forName("android.content.Context");
            Method method = clazz.getMethod("checkSelfPermission", String.class);
            int rest = (Integer) method.invoke(context, permission);
            if (rest == PackageManager.PERMISSION_GRANTED) {
                result = true;
            } else {
                result = false;
            }
        } catch (Exception e) {
            result = false;
        }
    } else {
        PackageManager pm = context.getPackageManager();
        if (pm.checkPermission(permission, context.getPackageName()) == PackageManager.PERMISSION_GRANTED) {
            result = true;
        }
    }
    return result;
}
 
Example 18
Project: punti-burraco   File: TripleFragment.java   View source code 6 votes vote down vote up
@Override
public void onRequestPermissionsResult(int requestCode, String permissions[], int[] grantResults) {
    switch (requestCode) {

        case STORAGE_PERMISSION_SCREENSHOT:
        {
            // If request is cancelled, the result arrays are empty.
            if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {

                // permission was granted, yay!
                openScreen();

            } else {

                // permission denied, boo!
                Toast.makeText(getActivity(), getString(R.string.marshmallow_alert_2), Toast.LENGTH_LONG).show();

            }
            return;
        }

        // other 'case' lines to check for other
        // permissions this app might request
    }
}
 
Example 19
Project: AndiCar   File: GPSTrackControllerDialogActivity.java   View source code 6 votes vote down vote up
@Override
    public void onRequestPermissionsResult(int requestCode, @NonNull String permissions[], @NonNull int[] grantResults) {

        if (grantResults.length == 0 || grantResults[0] == PackageManager.PERMISSION_DENIED) {
            if (requestCode == ConstantValues.REQUEST_LOCATION_ACCESS) {
                Toast.makeText(this, R.string.error_069, Toast.LENGTH_LONG).show();
            }
            else {
                Toast.makeText(this, R.string.error_070, Toast.LENGTH_LONG).show();
            }
            finish();
        } else {
//            if (ContextCompat.checkSelfPermission(this, Manifest.permission.WRITE_EXTERNAL_STORAGE) == PackageManager.PERMISSION_DENIED) {
            if (!FileUtils.isFileSystemAccessGranted(this)) {
                ActivityCompat.requestPermissions(this,
                        new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE}, ConstantValues.REQUEST_ACCESS_EXTERNAL_STORAGE);
            }
        }
    }
 
Example 20
Project: MVVMFrames   File: ManifestParser.java   View source code 6 votes vote down vote up
public List<ConfigModule> parse() {
    List<ConfigModule> modules = new ArrayList<ConfigModule>();
    try {
        ApplicationInfo appInfo = context.getPackageManager().getApplicationInfo(
                context.getPackageName(), PackageManager.GET_META_DATA);
        if (appInfo.metaData != null) {
            for (String key : appInfo.metaData.keySet()) {
                if (MODULE_VALUE.equals(appInfo.metaData.get(key))) {
                    modules.add(parseModule(key));
                }
            }
        }
    } catch (PackageManager.NameNotFoundException e) {
        throw new RuntimeException("Unable to find metadata to parse ConfigModule", e);
    }

    return modules;
}
 
Example 21
Project: localcloud_fe   File: PermissionHelper.java   View source code 6 votes vote down vote up
private static void deliverPermissionResult(CordovaPlugin plugin, int requestCode, String[] permissions) {
    // Generate the request results
    int[] requestResults = new int[permissions.length];
    Arrays.fill(requestResults, PackageManager.PERMISSION_GRANTED);

    try {
        Method onRequestPermissionResult = CordovaPlugin.class.getDeclaredMethod(
                "onRequestPermissionResult", int.class, String[].class, int[].class);

        onRequestPermissionResult.invoke(plugin, requestCode, permissions, requestResults);
    } catch (NoSuchMethodException noSuchMethodException) {
        // Should never be caught since the plugin must be written for cordova-android 5.0.0+ if it
        // made it to this point
        LOG.e(LOG_TAG, "NoSuchMethodException when delivering permissions results", noSuchMethodException);
    } catch (IllegalAccessException illegalAccessException) {
        // Should never be caught; this is a public method
        LOG.e(LOG_TAG, "IllegalAccessException when delivering permissions results", illegalAccessException);
    } catch(InvocationTargetException invocationTargetException) {
        // This method may throw a JSONException. We are just duplicating cordova-android's
        // exception handling behavior here; all it does is log the exception in CordovaActivity,
        // print the stacktrace, and ignore it
        LOG.e(LOG_TAG, "InvocationTargetException when delivering permissions results", invocationTargetException);
    }
}
 
Example 22
Project: Paper-Melody   File: MainActivity.java   View source code 6 votes vote down vote up
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    if (requestCode == REQUEST_PERMISSION) {
        if (android.os.Build.VERSION.SDK_INT >= 23) {
            for (int i = 0; i < permissions.length; ++i) {
                // 检查该权限是否已经获取
                int per = ContextCompat.checkSelfPermission(this, permissions[i]);
                // 权限是否已经 授权 GRANTED---授权  DINIED---拒绝
                if (per != PackageManager.PERMISSION_GRANTED) {
                    // 提示用户应该去应用设置界面手动开启权限
                    showDialogTipUserGoToAppSetting();
                } else {
                    if (dialog != null && dialog.isShowing()) {
                        dialog.dismiss();
                    }
                }
            }
        }
    }
}
 
Example 23
Project: Remindy   File: EditImageAttachmentActivity.java   View source code 6 votes vote down vote up
@Override
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
    super.onRequestPermissionsResult(requestCode, permissions, grantResults);
    switch (requestCode){
        case REQUEST_TAKE_PICTURE_PERMISSION:
            for (int result : grantResults) {
                if(result != PackageManager.PERMISSION_GRANTED) {
                    BaseTransientBottomBar.BaseCallback<Snackbar> callback = new BaseTransientBottomBar.BaseCallback<Snackbar>() {
                        @Override
                        public void onDismissed(Snackbar transientBottomBar, int event) {
                            super.onDismissed(transientBottomBar, event);
                            handleImageCapture();
                        }
                    };
                    SnackbarUtil.showSnackbar(mContainer, SnackbarUtil.SnackbarType.NOTICE, R.string.activity_edit_image_attachment_snackbar_error_no_permissions, SnackbarUtil.SnackbarDuration.SHORT, callback);
                    return;
                }
            }

            //Permissions granted
            dispatchTakePictureIntent();
            break;
    }
}
 
Example 24
Project: chips-input-layout   File: ContactLoadingActivity.java   View source code 6 votes vote down vote up
protected void loadContactsWithRuntimePermission() {
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
        // Runtime permission must be granted for
        // (1) Reading contacts
        // (2) Sending SMS messages
        String[] permissions = new String[] {
                Manifest.permission.READ_CONTACTS,
                Manifest.permission.READ_PHONE_STATE
        };

        // If the app doesn't have all the permissions above, request for them!
        if (ContextCompat.checkSelfPermission(this, Manifest.permission.READ_CONTACTS) == PackageManager.PERMISSION_GRANTED
                && ContextCompat.checkSelfPermission(this, Manifest.permission.READ_PHONE_STATE) == PackageManager.PERMISSION_GRANTED) {
            getSupportLoaderManager().initLoader(0, null, this);
        } else {
            ActivityCompat.requestPermissions(this, permissions, 0);
        }
    } else {
        // APIs older than Lollipop don't have runtime permissions :)
        getSupportLoaderManager().initLoader(0, null, this);
    }
}
 
Example 25
Project: EasyReader   File: FeedbackActivity.java   View source code 6 votes vote down vote up
/**
 * 判断 用户是否安装QQ客户端
 */
public static boolean hasQQClientAvailable(Context context) {
    final PackageManager packageManager = context.getPackageManager();
    List<PackageInfo> pinfo = packageManager.getInstalledPackages(0);
    if (pinfo != null) {
        for (int i = 0; i < pinfo.size(); i++) {
            String pn = pinfo.get(i).packageName;
            LogUtils.e("pn = " + pn);
            if (pn.equalsIgnoreCase("com.tencent.qqlite") || pn.equalsIgnoreCase("com.tencent.mobileqq")) {
                return true;
            }
        }
    }
    return false;
}
 
Example 26
Project: fussroll   File: ContactsFragment.java   View source code 6 votes vote down vote up
@Override
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
    switch (requestCode) {
        case CheckForContactsPermission.MY_PERMISSIONS_REQUEST_READ_CONTACTS: {
            if(grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
                //Log.i("ContactsFragment", "Dialog : Permission is granted");
                if(!onCreatePerm)
                    onCreatePerm = true;
                getPhoneNumbers();
            }
            else {
                //Log.i("ContactsFragment", "Dialog : Permission is not yet granted");
            }
        }
    }
}
 
Example 27
Project: android_permission   File: MainFragment.java   View source code 6 votes vote down vote up
@Override
public void onClick(View v) {
    int id = v.getId();
    if (R.id.get_contact_btn == id) {
        if (ActivityCompat.checkSelfPermission(getContext(), Manifest.permission.READ_CONTACTS) != PackageManager.PERMISSION_GRANTED) {
            if (shouldShowRequestPermissionRationale(Manifest.permission.READ_CONTACTS)) {
                new AlertDialog.Builder(getContext()).setMessage("xxxx")
                        .setCancelable(false)
                        .setPositiveButton("确定", new DialogInterface.OnClickListener() {
                            @Override
                            public void onClick(DialogInterface dialog, int which) {
                                requestPermissions(new String[]{Manifest.permission.READ_CONTACTS}, 1);
                            }
                        }).create().show();
            } else {
                requestPermissions(new String[]{Manifest.permission.READ_CONTACTS}, 1);
            }

        } else {
            readContacts();
        }
    }
}
 
Example 28
Project: YiZhi   File: PersonalUpperPresenter.java   View source code 6 votes vote down vote up
@Override
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions,
                                       @NonNull int[] grantResults) {
    if (requestCode == WRITE_EXTERNAL_STORAGE_REQUEST_CODE) {
        if (grantResults[0] == PackageManager.PERMISSION_GRANTED) {
            // Permission Granted
            if (mIView != null)
                mIView.gotoSystemCamera(tempFile, REQUEST_CAMERA);
        }
    } else if (requestCode == READ_EXTERNAL_STORAGE_REQUEST_CODE) {
        if (grantResults[0] == PackageManager.PERMISSION_GRANTED) {
            // Permission Granted
            if (mIView != null)
                mIView.gotoSystemPhoto(REQUEST_PHOTO);
        }
    }
}
 
Example 29
Project: EazyBaseMVP   File: ManifestParser.java   View source code 6 votes vote down vote up
public List<ConfigModule> parse() {
    List<ConfigModule> configModules = new ArrayList<>();
    try {
        ApplicationInfo appInfo = context.getPackageManager().getApplicationInfo(context.getPackageName()
                , PackageManager.GET_META_DATA);

        if (appInfo.metaData != null) {
            for (String key : appInfo.metaData.keySet()) {
                if (MODULE_VALUE.equals(appInfo.metaData.get(key))) {
                    configModules.add(parseModule(key));
                }
            }
        }
    } catch (PackageManager.NameNotFoundException ex) {
        throw new RuntimeException("Unable to find metadata to parse ConfigModule", ex);
    }
    return configModules;
}
 
Example 30
Project: FirebasePost   File: PermissionsHelper.java   View source code 6 votes vote down vote up
/**
 * use for get {@link PermissionInfo} of all @param required
 *
 * @param context
 * @param required
 * @return
 */
private static List<PermissionInfo> getPermissions(Context context, List<String> required) {

    List<PermissionInfo> permissionInfoList = new ArrayList<>();

    PackageManager pm = context.getPackageManager();
    for (String permission : required) {
        PermissionInfo pinfo = null;
        try {
            pinfo = pm.getPermissionInfo(permission, PackageManager.GET_META_DATA);
        } catch (PackageManager.NameNotFoundException e) {
            e.printStackTrace();
            continue;
        }

        permissionInfoList.add(pinfo);
    }
    return permissionInfoList;
}
 
Example 31
Project: RLibrary   File: RCrashHandler.java   View source code 6 votes vote down vote up
/**
 * INTERNAL method used to get the first activity with an intent-filter <action android:name="cat.ereza.customactivityoncrash.RESTART" />,
 * If there is no activity with that intent filter, this returns null.
 *
 * @param context A valid context. Must not be null.
 * @return A valid activity class, or null if no suitable one is found
 */
@SuppressWarnings("unchecked")
private static Class<? extends Activity> getRestartActivityClassWithIntentFilter(Context context) {
    List<ResolveInfo> resolveInfos = context.getPackageManager().queryIntentActivities(
            new Intent().setAction(INTENT_ACTION_RESTART_ACTIVITY),
            PackageManager.GET_RESOLVED_FILTER);

    for (ResolveInfo info : resolveInfos) {
        if (info.activityInfo.packageName.equalsIgnoreCase(context.getPackageName())) {
            try {
                return (Class<? extends Activity>) Class.forName(info.activityInfo.name);
            } catch (ClassNotFoundException e) {
                //Should not happen, print it to the log!
                Log.e("TAG", "Failed when resolving the restart activity class via intent filter, stack trace follows!", e);
            }
        }
    }

    return null;
}
 
Example 32
Project: BuddyBook   File: InsertEditBookActivity.java   View source code 6 votes vote down vote up
@RequiresApi(api = Build.VERSION_CODES.M)
@Override
public void onRequestPermissionsResult(int requestCode,
                                       @NonNull String[] permissions,
                                       @NonNull int[] grantResults) {

    if (grantResults.length != 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
        if (requestCode == RC_HANDLE_WRITE_PERM) {
            callPickPhoto();
        } else if (requestCode == RC_CAMERA_PERM) {

            int rc = ActivityCompat.checkSelfPermission(mContext, Manifest.permission.WRITE_EXTERNAL_STORAGE);
            if (rc == PackageManager.PERMISSION_GRANTED) {
                callCamera();
            } else {
                requestWriteExternalStoragePermission(RC_CAMERA_PERM);
            }
        }
    }
}
 
Example 33
Project: GitHub   File: Utils.java   View source code 5 votes vote down vote up
static boolean hasPermission(Context context, String permission) {
  return context.checkCallingOrSelfPermission(permission) == PackageManager.PERMISSION_GRANTED;
}
 
Example 34
Project: MoligyMvpArms   File: DeviceUtils.java   View source code 5 votes vote down vote up
/**
 * 当前的包是否存在
 *
 * @param context
 * @param pckName
 * @return
 */
public static boolean isPackageExist(Context context, String pckName) {
    try {
        PackageInfo pckInfo = context.getPackageManager()
                .getPackageInfo(pckName, 0);
        if (pckInfo != null)
            return true;
    } catch (PackageManager.NameNotFoundException e) {
        Log.e("TDvice", e.getMessage());
    }
    return false;
}
 
Example 35
Project: prevent   File: PreventActivity.java   View source code 5 votes vote down vote up
private boolean isInternal() {
    PackageManager pm = getPackageManager();
    try {
        String source = pm.getApplicationInfo(getPackageName(), 0).sourceDir;
        if (source.startsWith(Environment.getDataDirectory().getAbsolutePath()) || source.startsWith(Environment.getRootDirectory().getAbsolutePath())) {
            return true;
        }
    } catch (PackageManager.NameNotFoundException e) { // NOSONAR
        // do nothing
    }
    return false;
}
 
Example 36
Project: GCSApp   File: VersionUtil.java   View source code 5 votes vote down vote up
/**
 * 获取版本号
 * 也可使用 BuildConfig.VERSION_NAME 替换
 *
 * @param context 上下文
 * @return 版本号
 */
public static String getVersionName(Context context) {
    PackageManager packageManager = context.getPackageManager();
    String packageName = context.getPackageName();
    try {
        PackageInfo packageInfo = packageManager.getPackageInfo(packageName, 0);
        return packageInfo.versionName;
    } catch (PackageManager.NameNotFoundException e) {
        e.printStackTrace();
    }
    return "1.0.0";
}
 
Example 37
Project: keepass2android   File: PluginManager.java   View source code 5 votes vote down vote up
Resources getResources(Context context) {
    PackageManager packageManager = context.getPackageManager();
    Resources res = null;
    try {
        ApplicationInfo appInfo = packageManager.getApplicationInfo(mPackageName, 0);
        res = packageManager.getResourcesForApplication(appInfo);
    } catch (NameNotFoundException e) {
        Log.i(TAG, "couldn't get resources");
    }
    return res;
}
 
Example 38
Project: RxJava2-weather-example   File: MainActivity.java   View source code 5 votes vote down vote up
private void checkLocationPermission() {
    final String locationPermission = Manifest.permission.ACCESS_FINE_LOCATION;
    try {
        if (ActivityCompat.checkSelfPermission(this, locationPermission) != PackageManager.PERMISSION_GRANTED) {
            ActivityCompat.requestPermissions(this, new String[]{locationPermission}, REQUEST_CODE_PERMISSION);
        }
    } catch (Exception e) {
        e.printStackTrace();
    }
}
 
Example 39
Project: sflauncher   File: MainActivity.java   View source code 5 votes vote down vote up
private void refreshAppList(){
    new Thread(new Runnable(){

        @Override
        public void run() {
            PackageManager pm = getPackageManager();
            Intent intent = new Intent(Intent.ACTION_MAIN, null);
            intent.addCategory(Intent.CATEGORY_LAUNCHER);
            List<ResolveInfo> resolves = pm.queryIntentActivities(intent, 0);
            List<App> myApps = new ArrayList<>();
            for(ResolveInfo r : resolves){
                String packageName = r.activityInfo.packageName;
                if(!packageName.equals("xyz.jathak.sflauncher")) {
                    App app = new App(r, MainActivity.this);
                    myApps.add(app);
                }
                Thread.yield();
            }
            Collections.sort(myApps);
            apps = myApps;
            toolbar.post(new Runnable(){

                @Override
                public void run() {
                    navigationDrawerAdapter.notifyDataSetChanged();
                    restoreCards();
                    SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(MainActivity.this);
                    if(prefs.getBoolean("firstLaunch",true)){
                        addDefaultCards();
                        cards.add(1,new Card.Tutorial(MainActivity.this));
                        SharedPreferences.Editor e = prefs.edit();
                        e.putBoolean("firstLaunch",false);
                        e.apply();
                    }
                    refreshThemes();
                }
            });
        }
    }).start();
}
 
Example 40
Project: cordova-plugin-webview-checker   File: WebViewChecker.java   View source code 5 votes vote down vote up
public void isAppEnabled(String packagename, CallbackContext callbackContext) {
  PackageManager packageManager = this.cordova.getActivity().getPackageManager();

  try {
    Boolean enabled = packageManager.getApplicationInfo(packagename, 0).enabled;
    callbackContext.success(enabled.toString());
  } catch (PackageManager.NameNotFoundException e) {
    callbackContext.error("Package not found");
  }
}