Package manager android java

Android PackageManager tutorial with examples

Class for retrieving various kinds of information related to the application packages that are currently installed on the device.

Introduction

Class for retrieving various kinds of information related to the application packages that are currently installed on the device.

You can find this class through Context#getPackageManager.

If your app targets Android 11 (API level 30) or higher, the methods in this class each return a filtered list of apps.

Example

The following code shows how to use PackageManager from android.content.pm.

import android.content.Context; import android.content.Intent; import android.content.pm.PackageManager; import android.content.pm.ResolveInfo; import android.net.Uri; import java.util.List; /**/* w ww . d e m o 2 s . c o m*/ * Created by dh on 2016/11/21. */ public class SchemaRouter < public static void startActivityWithUri(Context context, String uri) < PackageManager packageManager = context.getPackageManager(); Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(uri)); List activities = packageManager.queryIntentActivities(intent, 0); boolean isValid = !activities.isEmpty(); if (isValid) < context.startActivity(intent); >> >
import android.content.Intent; import android.content.pm.PackageManager; import android.net.Uri; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widget.Toast; import java.util.List; public class MainActivity extends AppCompatActivity < @Override// w w w . d e mo 2 s . co m protected void onCreate(Bundle savedInstanceState) < super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); > public void searchWebContent(View v) < Intent web = new Intent(Intent.ACTION_VIEW, Uri.parse("http://www.google.com")); PackageManager packageManager = getPackageManager(); List activities = packageManager.queryIntentActivities(web, PackageManager.MATCH_DEFAULT_ONLY); boolean isIntentSafe = activities.size() > 0; if (isIntentSafe == true) startActivity(web); else Toast.makeText(getApplicationContext(), "there is no browser in your device", Toast.LENGTH_LONG).show(); > >
import java.io.File; import java.util.List; import android.app.Activity; import android.content.Intent; import android.content.pm.PackageManager; import android.net.Uri; import android.os.Bundle; public class PDFReaderActivity extends Activity < // Make sure you have installed pdf viewer application on your device or simulator. @Override/* w w w. de m o 2 s . c o m */ public void onCreate(Bundle savedInstanceState) < super.onCreate(savedInstanceState); File file = new File("/sdcard/sample.pdf"); PackageManager packageManager = getPackageManager(); Intent testIntent = new Intent(Intent.ACTION_VIEW); testIntent.setType("application/pdf"); List list = packageManager.queryIntentActivities(testIntent, PackageManager.MATCH_DEFAULT_ONLY); if (list.size() > 0 && file.isFile()) < Intent intent = new Intent(); intent.setAction(Intent.ACTION_VIEW); Uri uri = Uri.fromFile(file); intent.setDataAndType(uri, "application/pdf"); startActivity(intent); > > >

  • Android PackageManager SIGNATURE_FIRST_NOT_SIGNED
  • Android PackageManager SIGNATURE_MATCH
  • Android PackageManager SIGNATURE_NO_MATCH
  • Android PackageManager tutorial with examples
  • Android android.content.pm ResolveInfo
  • Android ResolveInfo Check that in the system exists application which can handle this intent
  • Android ResolveInfo Checks if given intent is available on the system.

demo2s.com | Email: | Demo Source and Support. All rights reserved.

Источник

# PackageManager

To get versionName and versionCode of current build of your application you should query Android’s package manager.

try  // Reference to Android's package manager PackageManager packageManager = this.getPackageManager(); // Getting package info of this application PackageInfo info = packageManager.getPackageInfo(this.getPackageName(), 0); // Version code info.versionCode // Version name info.versionName > catch (NameNotFoundException e)  // Handle the exception > 

# Install time and update time

To get the time at which your app was installed or updated, you should query Android’s package manager.

try  // Reference to Android's package manager PackageManager packageManager = this.getPackageManager(); // Getting package info of this application PackageInfo info = packageManager.getPackageInfo(this.getPackageName(), 0); // Install time. Units are as per currentTimeMillis(). info.firstInstallTime // Last update time. Units are as per currentTimeMillis(). info.lastUpdateTime > catch (NameNotFoundException e)  // Handle the exception > 

# Utility method using PackageManager

Here we can find some useful method using PackageManager,

Below method will help to get the app name using package name

private String getAppNameFromPackage(String packageName, Context context)  Intent mainIntent = new Intent(Intent.ACTION_MAIN, null); mainIntent.addCategory(Intent.CATEGORY_LAUNCHER); ListResolveInfo> pkgAppsList = context.getPackageManager() .queryIntentActivities(mainIntent, 0); for (ResolveInfo app : pkgAppsList)  if (app.activityInfo.packageName.equals(packageName))  return app.activityInfo.loadLabel(context.getPackageManager()).toString(); > > return null; > 

Below method will help to get the app icon using package name,

private Drawable getAppIcon(String packageName, Context context)  Drawable appIcon = null; try  appIcon = context.getPackageManager().getApplicationIcon(packageName); > catch (PackageManager.NameNotFoundException e)  > return appIcon; > 

Below method will help to get the list of installed application.

public static ListApplicationInfo> getLaunchIntent(PackageManager packageManager)  ListApplicationInfo> list = packageManager.getInstalledApplications(PackageManager.GET_META_DATA); return list; > 

Note: above method will give the launcher application too.

Below method will help to hide the app icon from the launcher.

public static void hideLockerApp(Context context, boolean hide)  ComponentName componentName = new ComponentName(context.getApplicationContext(), SplashActivity.class); int setting = hide ? PackageManager.COMPONENT_ENABLED_STATE_DISABLED : PackageManager.COMPONENT_ENABLED_STATE_ENABLED; int current = context.getPackageManager().getComponentEnabledSetting(componentName); if (current != setting)  context.getPackageManager().setComponentEnabledSetting(componentName, setting, PackageManager.DONT_KILL_APP); > > 

Note: After switch off the device and switch on this icon will come back in the launcher.

Источник

Package manager android java

Полный текст статьи и исходники программы доступны только зарегистрированным участникам сайта.

Прочитайте внимательно условия! В начале каждой статьи указывается, к какому курсу относится данная статья. Например, если статья из 4 курса, значит нужно заплатить за все курсы по четвёртый включительно.

Стоимость регистрации — символические 360 рублей. После регистрации у вас будет доступ ко второму курсу.

Для регистрации сначала необходимо пополнить ЮMoney 410011383280263 на указанную сумму или QIWI (перевод по никнейму), а затем прислать письмо на адрес [email protected] с указанием, на какой кошелёк вы делали оплату и реквизиты, по которым можно вас определить (не прикрепляйте к письму картинки или файлы, пишите в письме). Учитывайте комиссию при переводах.

По поводу перевода на ЮMoney. Если делать перевод по указанной ссылке, то к сумме нужно прибавить 3% самостоятельно. Если вы знаете, как переводить по номеру кошелька 410011383280263 без указанной ссылки, то по идее ваш банк сам рассчитает комиссию. Эти новые правила стали применяться в октябре 2022, возможно вам придётся доплачивать, когда я увижу точную сумму прихода.

Не присылайте в письме мои номера кошельков — поверьте, я их знаю и без вас.

В ответном письме вы получите учётные данные для чтения статей из закрытой зоны за второй курс.

Доступ к третьему курсу обучения доступен только после оплаты второго курса и составляет 360 руб.

Доступ к четвёртому курсу обучения доступен после оплаты третьего курса и составляет 360 руб. и т.д.

При оплате сразу всех курсов одновременно (2-10) цена составит 3200 руб.

Доступ даётся как минимум на один год. Для тех, кто оплатил третий и другие курсы, сроки доступа увеличиваются.

Также возможен приём на PayPal (только для зарубежных пользователей). Обратите внимание, что в этом случае стоимость одного курса составляет 7$.

На данный момент PayPal не доступен в России.

Webmoney тоже не особо доступен в России, но по запросу можно отправить на Z-кошелёк (7S), если вдруг кому-то удобно из других стран.

Источник

Читайте также:  Выравнивание блочного элемента по центру css
Оцените статью