如何在安装应用程序后立即执行某些操作?

时间:2013-11-15 11:19:17

标签: android

我需要编写Android应用程序(让我们称之为App1),建议用户安装另一个Android应用程序(让我们称之为App2)。如果用户同意安装App2,我需要App1在App2成功安装后立即进行一些操作。组织这个过程的最佳方法是什么?我在考虑定期检查是否安装了App2,但我认为这不是最聪明的方式。

1 个答案:

答案 0 :(得分:2)

您可以使用BroadcastReceiver检测到安装了应用程序。

on 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);