Исключение безопасности Android API 34 – необходимо указать один из RECEIVER_EXPORTED или RECEIVER_NOT_EXPORTED.JAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Исключение безопасности Android API 34 – необходимо указать один из RECEIVER_EXPORTED или RECEIVER_NOT_EXPORTED.

Сообщение Anonymous »

Когда приложение запускается в Android API 34, происходит сбой приложения с ошибкой ниже, но в API 33 оно работает нормально. Я пробовал много вещей, включая добавление экспорта=true в манифест Android, но не смог заставить его работать, есть идеи по этому поводу?< /p>
java.lang.RuntimeException: невозможно возобновить активность {com.npc.marry/com.xxx.ui.login.LoginActivity}: java.lang.SecurityException: com.xxx : Один из RECEIVER_EXPORTED или RECEIVER_NOT_EXPORTED должен быть указан, если приемник не регистрируется исключительно для системных широковещательных рассылок.
AndroidManifest похож на

Код: Выделить всё

public class LoginActivity extends BaseActivity implements LoginView {

//google sign in code
private static final int RC_SIGN_IN = 9001;
@NotEmpty
@BindView(R.id.edtUsername)
BlackEditText edtUsernamne;

@Password(min = 4)
@BindView(R.id.edtPassword)
BlackEditText edtPassword;

@BindView(R.id.btnLogin)
FancyButton btnLogin;

Validator validator;
LoginPresenter loginPresenter;

private final BroadcastReceiver mReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
boolean result = intent.getBooleanExtra("result", false);
if (result) {
startActivity(MainActivity.class, null, true);
} else {
Toast.makeText(LoginActivity.this, "Can not register your device", Toast.LENGTH_SHORT).show();
}
}
};

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_login);

validator = new Validator(this);
validator.setValidationListener(this);
loginPresenter = new LoginPresenter(this, this, compositeSubscription);
}

@Override
protected void onResume() {
super.onResume();
LoginActivity.this.registerReceiver(mReceiver, new IntentFilter("com.result.notification"));
}

@Override
protected void onPause() {
super.onPause();
LoginActivity.this.unregisterReceiver(mReceiver);
}
...


Подробнее здесь: https://stackoverflow.com/questions/782 ... er-not-exp
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»