Я хочу открыть промежуточную рекламу, когда приложение не находится в рабочем режиме, и пытаюсь достичь его с помощью AlarmManager и Broadcast приемника, хотя широковещательный приемник и AlarmManager работают.Я проверяю его с помощью тост-сообщения, и тост появляется в идеальное время, но промежуточная реклама не появляется.
Это мой код:
MainActivity
public class MainActivity extends AppCompatActivity {
AdView mAdView;
static InterstitialAd interstitialAd;
Handler handler;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.HOUR_OF_DAY, 22);
calendar.set(Calendar.MINUTE, 23);
calendar.set(Calendar.SECOND, 30);
if (calendar.getTime().compareTo(new Date()) < 0) calendar.add(Calendar.DAY_OF_MONTH, 1);
Intent intent = new Intent(getApplicationContext(), BroadcasReceiver.class);
PendingIntent pendingIntent = PendingIntent.getBroadcast(getApplicationContext(), 100, intent, PendingIntent.FLAG_UPDATE_CURRENT);
AlarmManager alarmManager = (AlarmManager) getSystemService(ALARM_SERVICE);
alarmManager.setRepeating(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), AlarmManager.INTERVAL_DAY, pendingIntent);
Приемник вещания
public class BroadcasReceiver extends BroadcastReceiver {
@Override
public void onReceive(final Context context, Intent intent) {
final InterstitialAd interstitialAd = new InterstitialAd(context);
interstitialAd.setAdUnitId("ca-app-pub-3940256099942544/1033173712");
interstitialAd.loadAd(new AdRequest.Builder().build());
interstitialAd.setAdListener(new AdListener() {
@Override
public void onAdClosed() {
// Load the next interstitial.
interstitialAd.loadAd(new AdRequest.Builder().build());
}
});
Handler handler = new Handler();
Runnable r = new Runnable() {
public void run() {
interstitialAd.show();
}
};
handler.postDelayed(r, 8000);
}
}
Файл манифеста
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<receiver android:name=".BroadcasReceiver"/>
<meta-data
android:name="com.google.android.gms.ads.APPLICATION_ID"
android:value="ca-app-pub-3940256099942544~3347511713"/>
</application>