Исключение AndroidAdvertisingId на Android P

Не меняя никакого кода между Android Oreo и Android P, когда я пытаюсь получить идентификатор рекламы следующим образом:

 Thread backgroundWorker = new Thread(new Runnable(
 {
    @Override
    public void run()
    {
         try
         { 

            AdvertisingIdClient.Info adInfo = AdvertisingIdClient.getAdvertisingIdInfo(appContext);

           if (adInfo != null){
               Log.d(“some tag”,adInfo.getId());
           }

        } 
        catch (IllegalStateException e){} 
        catch (GooglePlayServicesRepairableException e){}
        catch (IOException e){}
        catch (GooglePlayServicesNotAvailableException e){}
        catch (SecurityException e){}
});

Я получаю следующее SecurityException на Android P, у меня нет SharedPrefs, объявленных в моем манифесте или иным образом:

05-22 15:01:14.590 18536-22301/com.someapp.mobilesdktest W/AdvertisingIdClient: Error while reading from SharedPreferences java.lang.SecurityException: MODE_WORLD_READABLE no longer supported at android.app.ContextImpl.checkMode(ContextImpl.java:2453) at android.app.ContextImpl.getSharedPreferences(ContextImpl.java:389) at android.app.ContextImpl.getSharedPreferences(ContextImpl.java:376) at com.google.android.gms.ads.identifier.AdvertisingIdClient.getAdvertisingIdInfo(Unknown Source:12) at com.someapp.SomeFile$58.run(SomeFile.java:3607) at java.lang.Thread.run(Thread.java:764)

Когда я пытаюсь распечатать какие-либо SharedPrefs через Prefs.getAll () SharedPreferences, он пуст ... Как мне изменить это на MODE_PRIVATE, поскольку это метод getAdvertisingIdInfo () в пакете play-services-basement, и он пытается вызвать getSharedPreferences ("google_ads_flags", 1);

Я запускаю компиляцию com.google.android.gms: play-services-ads: 9.8.0

neuman8 22.05.2018 23:10

возможный дубликат stackoverflow.com/questions/39121052

noogui 23.05.2018 06:10
2
2
1 804
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Поэтому я обновился до com.google.android.gms: play-services-ads: 12.0.1, и исключение исчезло.

Другие вопросы по теме