Проверка установлено ли приложение и его удаление

Рейтинг: 4Ответов: 1Опубликовано: 02.05.2011

Собственно, как реализовать проверку на то установлено ли на телефон опредленное приложение (нужно две проверки, проверка по package и имени). И как возможно программно удалять приложения из телефона? И еше, возможно ли получать событие, когда новое приложение установлено, и проверять его package и имя?

Ответы

▲ 10Принят

После установки какого-либо приложения приходит широковещательный Intent PACKAGE_ADDED. Надо его получить и обработать.

Манифест.

<receiver android:name=".Receiver">
    <intent-filter>
        <action android:name="android.intent.action.PACKAGE_ADDED" />
        <data android:scheme="package" />
    </intent-filter>
</receiver>

Обработчик.

public class Receiver extends BroadcastReceiver {
    @Override
    public void onReceive(Context context, Intent intent) {
        // TODO: Обработать
    }

}

А наличие установленного приложения можно проверить с помощью PackageManager.

// packageName - имя пакета
PackageManager pm = getPackageManager();
PackageInfo pi = pm.getPackageInfo(packageName, 0);

if (pi != null) {
    // TODO: Обработать
}

Автоматически программно удалять приложения с обычного телефона нельзя - нужно подтверждение пользователя.