Возможно, вы сделали что-то на своем устройстве между 1.0 и 2.0, что могло бы вызвать это, например, включение брандмауэра?
Насколько я знаю, вы ничего не можете сделать во время сборки, загрузки или установки, чтобы установить или запросить разрешения для приложения. Вам нужно подождать, пока он действительно запустится, прежде чем вы сможете управлять запросами или изменениями разрешений приложения.
Возможно, вы захотите попробовать вставить следующий фрагмент кода в инициализацию вашего приложения, чтобы взглянуть на то, какие настройки фактически установлены:
ApplicationPermissionsManager apm = ApplicationPermissionsManager.getInstance();
ApplicationPermissions permissions = apm.getApplicationPermissions();
int[] keys = permissions.getPermissionKeys();
for (int i = 0; i < keys.length; i++) {
int key = keys[i];
System.out.println("APM: " + key + " = " +
permissionToString(permissions.getPermission(key)));
}
и
public String permissionToString(int value) {
switch(value) {
case ApplicationPermissions.VALUE_ALLOW:
return "ALLOW";
case ApplicationPermissions.VALUE_PROMPT:
return "PROMPT";
case ApplicationPermissions.VALUE_DENY:
return "DENY";
case -1:
return "NOT_SET";
default:
return Integer.toString(value);
}
}
Программа "applicationpermissionsdemo" в каталоге примеров JDE имеет хороший пример запроса разрешений приложения и запроса изменений разрешений приложения у самого приложения.