我需要在現有的應用程序內推廣新的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