Ове информације су намењене програмерима са апликацијама које садрже пропуст Имплицитна намера на чекању.
Шта се дешава
Једна или више апликација садржи проблем у вези са имплицитном намером на чекању, што може да доведе до безбедносних претњи у облику блокирања услуга, крађе приватних података и дизања привилегија. Прегледајте детаљне кораке у наставку да бисте решили проблем са апликацијама. Локације коришћења имплицитном намерe на чекању у апликацији можете да пронађете у обавештењу Play конзоле за апликацију. Ако се локација завршава са „(у динамички учитаном коду)“, онда је локација у коду који динамички учитава апликација или библиотеке које користи апликација. Апликације обично користе кôд који се динамички учитава путем испоруке функција на захтев, иако постоје друге непрепоручене технике (неке препоручене технике такође крше Google Play смернице и не треба да се користе). Поред тога, пакети могу да трансформишу кôд апликације у динамички учитан кôд.
Препоручујемо вам да решите овај проблем, али то није обавезно. Присуство овог проблема не утиче на статус објављивања апликације.
Додатне информације
Android апликације шаљу поруке између компоненти помоћу намера. Намере могу или да наведу циљну компоненту (експлицитна намера ) или да наведу општу радњу и дозволе оперативном систему да испоручи намеру свим компонентама на уређају које региструју филтер намере који се подудара са том радњом (имплицитна намера ).
Намере на чекању су намере делегиране другој апликацији за испоруку у неком будућем тренутку. Прављење имплицитне намере упаковане у намеру на чекању је безбедносни пропуст који може да доведе до блокирања услуга, крађе приватних података и дизања привилегија.
Следећи кораци
1. Ажурирајте апликацију и решите проблеме са упозорењима у вези са имплицитном намером на чекању помоћу корака наведених у наставку.
Потражите у апликацији локацију на којој је направљена Намера на чекању. На пример, следећи кôд прави намеру на чекању у коју је упакована имплицитна намера:
// Направите имплицитну основну намеру и упакујте је у намеру на чекању
Intent base = new Intent("ACTION_FOO");
base.setPackage("some_package");
PendingIntent pi = PendingIntent.getService(this, 0, base, 0);
Google препоручује да програмери отклоне пропуст тако што ће применити било коју (или још боље, све) од следећих мера:
- проверавање да ли су подешена поља за радњу, пакет и компоненту основне намере;
- проверавање да ли се намера на чекању испоручује само поузданим компонентама;
- коришћење ставке FLAG_IMMUTABLE (додате у пакету за развој софтвера 23) за прављење намера на чекању. На тај начин се апликације које добију намеру на чекању спречавају да попуне непопуњена својства. У случају да апликација ради и на уређајима који користе пакет за развој софтвера 22 или старији, препоручујемо програмерима да примене претходне опције и да истовремено побољшају прављење намере на чекању помоћу обрасца:
if (android.os.Build.VERSION.SDK_INT >= 23) {
// Направите намеру на чекању помоћу ставке FLAG_IMMUTABLE
} else {
// Постојећи кôд који прави намеру на чекању
}
2. Пошаљите ажурирани APK
Да бисте послали ажурирани скуп апликација или APK:
- Идите у Play конзолу.
- Изаберите апликацију.
- Идите у Истраживач за скуп апликација.
- Изаберите верзију апликације за APK/скуп апликација која није усклађена у горњем десном падајућем менију и забележите у којим издањима се налази.
- Отворите верзију која има проблем са смерницама. То ће бити једна од ове 4 странице: Интерно/Затворено/Отворено тестирање или Производна верзија.
- У горњем десном углу странице кликните на Направите ново издање. (Можда ћете прво морати да кликнете на Управљајте верзијом)
- Ако је издање са APK-ом који крши смернице у радној верзији, одбаците издање.
- Додајте верзију скупова апликација или APK-ова која је у складу са смерницама.
- Уверите се да је верзија скупова апликација или APK-ова која није у складу са смерницама у одељку Није обухваћено за ово издање. Додатна упутства потражите у одељку Није обухваћено (скупови апликација и APK-ови) у овом чланку помоћи за Play конзолу.
- Да бисте сачували промене издања, изаберите Сачувај.
- Кад завршите припрему издања, изаберите Прегледајте издање.
Ако се APK који није у складу са смерницама објави у више верзија, поновите кораке 5–9 за сваку верзију.
У том периоду нова апликација или ажурирање апликације ће имати статус преглед је у токудок не прегледамо захтев. Ако апликација није исправно ажурирана, и даље ћете видети упозорење.
Ту смо да помогнемо
Ако имате техничких питања у вези са пропустом, можете да их поставите на Stack Overflow помоћу ознаке android-security. Да бисте боље разумели кораке које треба да предузмете за решавање овог проблема, обратите се нашем тиму за подршку.