Задача. Послать intent в конкретное приложение. Если его нет, предложить установить.
Сделал так .
Если нужное приложение стоит, вызываем его. Если нет , то открывается страница для установки.
Получил черную метку: Violation of Deceptive Ads policeПричина в том, что кнопка не печатает, а как бы рекламируют приложение.
Если я сделаю диалог "Нужно поставить приложение " OK поможет снять претензии ?
Или опять будет считаться, что реклама оформлена как стандартные элементы интерфейса ?
Как правильно минимально переписать код ?
protected void sendToPrint(Intent intent) {
final String appPackageName = "..........имяпакета........";
PackageManager pm = getPackageManager();
// check app installed
PackageInfo pi = null;
if (pm != null) {
try {
pi = pm.getPackageInfo(appPackageName, 0);
} catch (PackageManager.NameNotFoundException e) {
e.printStackTrace();
}
}
if (pi == null) {
// go to install - Ahtung !! Violation of Deceptive Ads police !
try {
startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("market://details?id=" + appPackageName)));
} catch (android.content.ActivityNotFoundException anfe) {
startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("https://play.google.com/store/apps/details?id=" + appPackageName)));
}
} else {
// send to print
intent.setPackage(appPackageName);
startActivity(intent);
}
}
Вот так достаточно будет переделать или будут претензии ?
Меня смущает, что так все равно похоже на пример как не надо делать.
https://play.google.com/about/monetization-ads/ads...![5c4f3725e210e894191256.jpeg](https://habrastorage.org/webt/5c/4f/37/5c4f3725e210e894191256.jpeg)
// go to install with dialog
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setMessage(R.string.dialog_message)
.setTitle(R.string.dialog_title);
builder.setPositiveButton(R.string.btn_install, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
try {
startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("market://details?id=" + appPackageName)));
} catch (android.content.ActivityNotFoundException anfe) {
startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("https://play.google.com/store/apps/details?id=" + appPackageName)));
}
}
});
AlertDialog dialog = builder.create();
dialog.show();