Я разработал приложение, все время использую настоящее устройство (samsung note 5), иногда используется эмулятор в качестве тестового устройства. Сегодня я загружаю приложение для воспроизведения в магазине. Как объясняется в заголовке, когда я или мои друзья загружают приложение и запускают его, он не может получить данные из Интернета, а объявление пусто. Но все время разработки я не сталкивался с этой ситуацией. Я не понимаю.Когда я загружаю свое приложение из Play Маркета, он не может получить доступ к Интернету, почему?
Первое фото, реальное устройство, подключенное к компьютеру с помощью кабеля, я запускаю приложение Android Studio, apk отправляется в студию Android на мое настоящее устройство. Закройте и запустите его снова, закройте и запустите снова. Результат тот же. Все в порядке.
https://i.stack.imgur.com/CQgOJ.jpg
Второе фото, загруженных из игры магазина и запустить приложение. Все тексты и шары пусты.
https://i.stack.imgur.com/7azlc.png
Manifest.xml
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.CLEAR_APP_CACHE" />
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
<uses-permission android:name="android.permission.VIBRATE" />
<uses-permission android:name="com.android.vending.BILLING" />
Spinner Изделие выбрано (Нет тост mesaage появляется в управлении приложением)
private AdapterView.OnItemSelectedListener spinnerOnItemSelectedListener = new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
mDrawDateSpinnerPosition = position;
final String drawDate = parent.getItemAtPosition(position).toString();
if (NetworkUtil.getConnectivityStatus(getContext())) {
mProgressDialog = ProgressDialog.show(getContext(), getResources().getString(R.string.please_wait), getResources().getString(R.string.loading), true, false);
new Handler().post(new Runnable() {
@Override
public void run() {
try {
mVolleyUtil.makeRequestForLotto(
getContext(),
Constants.SAYISAL,
DateUtil.formattedDateToNewFormattedDate(drawDate, Constants.DD_MM_YYYY, Constants.YYYY_MM_DD),
createSuccessListener(drawDate),
createErrorListener(drawDate));
} catch (Exception e) {
Log.e("spinnerSelectedListener", e.getMessage());
}
mProgressDialog.dismiss();
}
});
} else {
ToastUtil.show(getContext(), R.string.no_internet_access, Toast.LENGTH_LONG);
}
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
}
};
CreateErrorListener (Нет тост сообщений появляется в снаряженном приложение)
private Response.ErrorListener createErrorListener(final String drawDate) {
return new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
mVolleyUtil.getVolleyController().cancelPendingRequests(this);
mResult = null;
mProgressDialog.dismiss();
if (!NetworkUtil.getConnectivityStatus(getContext())) {
ToastUtil.show(getContext(), R.string.no_internet_access, Toast.LENGTH_LONG);
} else {
ToastUtil.show(getContext(), "Error occured, try again.", Toast.LENGTH_LONG);
}
}
};
}
VolleyRequest
mVolleyController.getRequestQueue().add(
new GsonRequest<>(Request.Method.GET, link + drawDate + ".json",
createErrorListener, LottoDTO.class, createSuccessListener));
Пожалуйста, дайте мне идею. Что происходит?
Вы пытались установить подписанный APK (тот, который вы загружаете в Google Play) прямо на устройство? – timbillstrom
@timbillstrom Я попробовал сейчас, когда вы сказали это, это тот же результат, что и вторая фотография. Все тексты и шары пусты, реклама не заполнена. – hebset
Я нашел ошибку. На самом деле это не настоящая ошибка. В GsonRequest ссылка выглядит так: h_t_t_p _: _/_/_ w_w_w .... (забыть о подчеркивании) Если подписанный APK запускается на устройстве, эта ссылка не отправляет данные, если на APC запущена обычная APK, эта ссылка отправляет данные успешно. Это проблема сертификации? – hebset