java - 问题 - 仅在一项活动上展示的横幅广告
问题描述
我使用两个活动,每个活动都有一个横幅
我的问题是,在我的 MainActivity 上它工作正常,但是一旦我的第二个活动启动,我什么都没有显示,但我只做了一个复制和粘贴(通过修改 setContentView 等元素......)
我正在与您分享我的代码,希望能找到一些帮助!
AndroidManifest.xml:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
package="com.fujiiyo.ufotraveler">
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:networkSecurityConfig="@xml/network_security_config"
android:usesCleartextTraffic="true"
android:theme="@style/AppTheme">
<activity
android:name=".SplashScreenActivity"
android:configChanges="orientation|screenSize"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name=".MainActivity">
</activity>
<activity
android:name=".PlayActivity">
</activity>
</application>
</manifest>
活动播放.xml:
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".PlayActivity">
<FrameLayout
android:id="@+id/bannerContainer"
android:layout_width="match_parent"
android:layout_height="50dp"
android:layout_gravity="bottom"
android:visibility="visible"
android:background="#FF000000"/>
</FrameLayout>
PlayActivity.java:
package com.fujiiyo.ufotraveler;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.FrameLayout;
import com.ironsource.mediationsdk.ISBannerSize;
import com.ironsource.mediationsdk.IronSource;
import com.ironsource.mediationsdk.IronSourceBannerLayout;
import com.ironsource.mediationsdk.logger.IronSourceError;
import com.ironsource.mediationsdk.sdk.BannerListener;
public class PlayActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_play);
IronSource.init(this, "YOUR_APP_KEY", IronSource.AD_UNIT.BANNER);
final FrameLayout bannerContainer = findViewById(R.id.bannerContainer);
final IronSourceBannerLayout banner = IronSource.createBanner(this, ISBannerSize.BANNER);
FrameLayout.LayoutParams layoutParams = new FrameLayout.LayoutParams(FrameLayout.LayoutParams.MATCH_PARENT,
FrameLayout.LayoutParams.WRAP_CONTENT);
bannerContainer.addView(banner, 0, layoutParams);
banner.setBannerListener(new BannerListener() {
@Override
public void onBannerAdLoaded() {
banner.setVisibility(View.VISIBLE);
}
@Override
public void onBannerAdLoadFailed(IronSourceError error) {
// Called after a banner has attempted to load an ad but failed.
runOnUiThread(new Runnable() {
@Override
public void run() {
bannerContainer.removeAllViews();
}
});
}
@Override
public void onBannerAdClicked() {
// Called after a banner has been clicked.
}
@Override
public void onBannerAdScreenPresented() {
// Called when a banner is about to present a full screen content.
}
@Override
public void onBannerAdScreenDismissed() {
// Called after a full screen content has been dismissed
}
@Override
public void onBannerAdLeftApplication() {
// Called when a user would be taken out of the application context.
}
});
IronSource.loadBanner(banner);
// YOUR OTHER CODE //
// YOUR OTHER CODE //
// YOUR OTHER CODE //
}
protected void onResume() {
super.onResume();
IronSource.onResume(this);
}
protected void onPause() {
super.onPause();
IronSource.onPause(this);
}
}
我看不出哪里有问题,要显示我使用的第二个活动:
startActivity(new Intent(MainActivity.this, PlayActivity.class));
我真的希望有人有解决方案
解决方案
PlayActivity.java 代码示例显示您使用createBanner()方法从头开始创建横幅视图。
基于 IronSource 文档: https ://developers.ironsrc.com/ironsource-mobile/android/banner-integration-android/#step-4
试着打电话
IronSource.destroyBanner(banner);
前
startActivity(new Intent(MainActivity.this, PlayActivity.class));
推荐阅读
- node.js - 应用程序连接到 MongoDB 数据库,但在命令行中使用“show dbs”提示时数据库不可见
- python - 如何建立蓝牙HFP服务级连接
- python - 如何在 Python 中以 2020-01-13T09:25:19-0330 格式获取当前日期时间?
- ios - 如何使用 GCD 中的串行或并发队列让快速操作一个接一个地同步?
- php - 如何在 laravel 中验证这种类型的条件?
- java - 使用 Spring MockMvc 测试时的回滚事务
- kubernetes - 为什么 kubernetes pod 显示 Back-off restarting failed 容器
- talend - Talend 使用 Tmaps 将 1M 转换为 1000000 和 1K 转换为 1000
- amazon-web-services - aws s3 ls:HTTP 客户端引发未处理的异常:标头值无效
- java - 嗨,我是 java 初学者,最近开始编码 这是我的程序,它显示 ArryIndexOutOfBound 错误