我需要在现有的应用程序内推广新的Android应用程序,所以我想要做的是奖励用户,当他安装新的应用程序。如何奖励Android用户,当他安装特定的外部应用程序内谷歌播放
我需要知道当用户完成安装新应用程序时应该捕获什么事件。
感谢,
我需要在现有的应用程序内推广新的Android应用程序,所以我想要做的是奖励用户,当他安装新的应用程序。如何奖励Android用户,当他安装特定的外部应用程序内谷歌播放
我需要知道当用户完成安装新应用程序时应该捕获什么事件。
感谢,
您应该注册一个BroadcastReceiver来监听包事件。请参阅下面的代码只听包添加事件。
在清单:
和你的广播接收器:
public class PackageAddedReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context ctx, Intent intent) {
String packagename = intent.getData().getEncodedSchemeSpecificPart();
Log.d(TAG, "Action: " + intent.getAction());
Log.d(TAG, "The packagename: " + packagename);
//TODO check if the desired app is installed with the packagename
}
}
您可以检查应用程序启动(或当你需要),如果用户包含得到PackageManager类的一个实例,让你的其他应用程序的包信息的特定应用。
private boolean isPackageInstalled(String packagename, PackageManager packageManager) {
try {
packageManager.getPackageInfo(packagename, PackageManager.GET_ACTIVITIES);
return true;
} catch (NameNotFoundException e) {
return false;
}
}
如果没有找到包,就会产生错误,这就是为什么我们需要抓住它。在你的情况下,我们将返回false,所以你知道用户没有安装应用程序。
使用这种方法是:
PackageManager packageManager = context.getPackageManager();
boolean isInstalled = isPackageInstalled("com.your.otherapp.package.name", packageManager);
如果该方法返回true,你可以申请任何你定义为在应用程序的奖励。
非常感谢,它的正常工作。 – MobTech