0
我有一個應用程序,可以像Google Play Store一樣安裝其他應用程序。爲了完成分析鏈,我需要能夠檢測安裝的應用程序何時第一次啓動。Android:安裝另一個應用程序並檢測它何時首次啓動
Google Play Store肯定會以某種方式實施它。
我有一個應用程序,可以像Google Play Store一樣安裝其他應用程序。爲了完成分析鏈,我需要能夠檢測安裝的應用程序何時第一次啓動。Android:安裝另一個應用程序並檢測它何時首次啓動
Google Play Store肯定會以某種方式實施它。
Android系統爲您做到了這一點。當已安裝的應用程序第一次啓動時,軟件包管理器向安裝程序廣播Intent.ACTION_PACKAGE_FIRST_LAUNCH
。爲了確保您收到它,您需要:
PackageManager.INSTALL_REPLACE_EXISTING
,因爲它會被認爲是一個更新,其中廣播不是由系統Intent.ACTION_PACKAGE_FIRST_LAUNCH
,而不是在清單。註冊的廣播接收器:
registerReceiver(new LaunchReceiver(), new IntentFilter(Intent.ACTION_PACKAGE_FIRST_LAUNCH));
樣品廣播接收器:
public class LaunchReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
if (intent.getData() != null) {
Log.d(TAG, "Package name: " + intent.getDataString().replace("package:", ""));
}
}
}
欲瞭解更多信息,請閱讀實際的代碼在這裏:PackageManagerService.notifyFirstLaunch()