Я использую, помимо прочего, SurfaceView
в своей основной деятельности.
Класс, расширяющий SurfaceView
, реализует также SurfaceHolder.Callback
с методами обратного вызова:
- surfaceCreated
- surfaceChanged
- surfaceDestroyed
I'm также с помощью Google Admob Mobile Ads SDK для показа Interstitial
объявлений.
Теперь я испытываю два разных поведения, начиная дочернее действие, начатое мной, и показывая промежуточный объявление начало использовать Google Admob SDK.
- Поведение, с которого я запускаю дочернюю деятельность самостоятельно
Я использую
startActivity(new Intent(getBaseContext(), SettingsActivity.class));
, который вызывает SurfaceHolder.Callback
методы surfaceDestroyed
и surfaceCreated
по возвращении к основному виду деятельности.
Поведение запуска промежуточного объявления
из Google Admob SDK
Я использую
if(_myInterstitialAd.isLoaded())
{
_myInterstitialAd.show();
}
, который вызывает SurfaceHolder.Callback
методы surfaceChanged
и surfaceChanged
после того, как я вернусь к основной деятельности. Да, он вызывает surfaceChanged
дважды.
С помощью "1077 * Studio" Layout Inspector "я вижу, что запущенное промежуточное объявление также является Activity (com.google.android.gms.ads.AdActivity
). Поэтому мне действительно интересно, что происходит, когда я начинаю свою собственную деятельность.
Может кто-нибудь объяснить, как Google достигает такого поведения, что только Вызваны методы surfaceChanged
?
Может быть, я пропустил флаг Intent в моем startActivity
вызове?