2013-11-15 2 views
1

Мне нужно написать приложение для Android (можно назвать его App1), что предлагает пользователю установить другое приложение для Android (позволяет называть его App2). Если пользователь соглашается установить App2, мне нужно, чтобы App1 выполнял некоторые операции сразу после успешного добавления App2. Каков наилучший способ организовать этот процесс? Я подумывал периодически проверять, установлен ли App2, но я думаю, что это не самый умный способ.Как выполнить некоторые операции сразу после установки приложения?

+0

@Torben: никто ничего не сказал об услуге – gunar

ответ

2

Вы можете обнаружить, что приложение установлено с помощью BroadcastReceiver.

В OnCreate:

BroadcastReceiver appInstalledReceiver = new BroadcastReceiver() { 
@Override 
public void onReceive(Context context, Intent intent) { 
    String action = intent.getAction(); 
    if (Intent.ACTION_PACKAGE_ADDED.equals(action)) { 
     Uri data = intent.getData(); 
     String packageName = data.getEncodedSchemeSpecificPart(); 
     // check if packageName is App2 
     } 
    }   
}; 

А потом где-то в onResume:

IntentFilter intentFilter = new IntentFilter(); 
intentFilter.addAction(Intent.ACTION_PACKAGE_ADDED); 
intentFilter.addAction(Intent.ACTION_PACKAGE_INSTALL); 
intentFilter.addDataScheme("package"); 
registerReceiver(appInstalledReceiver, intentFilter); 
+0

Возможно зарегистрировать приемник в манифесте? – gunar

+0

вы тоже можете это сделать. это так или иначе, не то, и другое. – josephus

Смежные вопросы