Android 用户在应用程序使用过程中连接到互联网时如何显示横幅广告?
How to show banner ads when user connects to Internet in the middle of app usage in Android?
考虑以下流程:
1) 用户在其设备上没有互联网连接时打开应用程序。 (因此,没有显示横幅广告)
2) 使用应用程序时,用户连接到互联网。
在上述情况下,我的横幅广告不会在建立 Internet 连接时自动加载。我希望在第 2 步之后显示横幅广告。
最好的方法是什么?
更详细地说,为了让横幅广告立即显示在应用程序中,我必须最终重新启动应用程序,这一次,存在 Internet 连接。换句话说,如果应用程序在没有互联网连接的情况下启动,横幅广告就不会显示。
您可以使用此 class 更改 Internet 连接状态(只需按原样添加此 class)
public class NetworkStateReceiver extends BroadcastReceiver {
protected List<NetworkStateReceiverListener> listeners;
protected Boolean connected;
public NetworkStateReceiver() {
listeners = new ArrayList<NetworkStateReceiverListener>();
connected = null;
}
public void onReceive(Context context, Intent intent) {
if(intent == null || intent.getExtras() == null)
return;
ConnectivityManager manager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo ni = manager.getActiveNetworkInfo();
if(ni != null && ni.getState() == NetworkInfo.State.CONNECTED) {
connected = true;
} else if(intent.getBooleanExtra(ConnectivityManager.EXTRA_NO_CONNECTIVITY,Boolean.FALSE)) {
connected = false;
}
notifyStateToAll();
}
private void notifyStateToAll() {
for(NetworkStateReceiverListener listener : listeners)
notifyState(listener);
}
private void notifyState(NetworkStateReceiverListener listener) {
if(connected == null || listener == null)
return;
if(connected == true)
listener.networkAvailable();
else
listener.networkUnavailable();
}
public void addListener(NetworkStateReceiverListener l) {
listeners.add(l);
notifyState(l);
}
public void removeListener(NetworkStateReceiverListener l) {
listeners.remove(l);
}
public interface NetworkStateReceiverListener {
public void networkAvailable();
public void networkUnavailable();
}
}
当互联网连接改变时调用广告
查看 here
的完整用法
或者您也可以查看this问题
考虑以下流程:
1) 用户在其设备上没有互联网连接时打开应用程序。 (因此,没有显示横幅广告)
2) 使用应用程序时,用户连接到互联网。
在上述情况下,我的横幅广告不会在建立 Internet 连接时自动加载。我希望在第 2 步之后显示横幅广告。
最好的方法是什么?
更详细地说,为了让横幅广告立即显示在应用程序中,我必须最终重新启动应用程序,这一次,存在 Internet 连接。换句话说,如果应用程序在没有互联网连接的情况下启动,横幅广告就不会显示。
您可以使用此 class 更改 Internet 连接状态(只需按原样添加此 class)
public class NetworkStateReceiver extends BroadcastReceiver {
protected List<NetworkStateReceiverListener> listeners;
protected Boolean connected;
public NetworkStateReceiver() {
listeners = new ArrayList<NetworkStateReceiverListener>();
connected = null;
}
public void onReceive(Context context, Intent intent) {
if(intent == null || intent.getExtras() == null)
return;
ConnectivityManager manager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo ni = manager.getActiveNetworkInfo();
if(ni != null && ni.getState() == NetworkInfo.State.CONNECTED) {
connected = true;
} else if(intent.getBooleanExtra(ConnectivityManager.EXTRA_NO_CONNECTIVITY,Boolean.FALSE)) {
connected = false;
}
notifyStateToAll();
}
private void notifyStateToAll() {
for(NetworkStateReceiverListener listener : listeners)
notifyState(listener);
}
private void notifyState(NetworkStateReceiverListener listener) {
if(connected == null || listener == null)
return;
if(connected == true)
listener.networkAvailable();
else
listener.networkUnavailable();
}
public void addListener(NetworkStateReceiverListener l) {
listeners.add(l);
notifyState(l);
}
public void removeListener(NetworkStateReceiverListener l) {
listeners.remove(l);
}
public interface NetworkStateReceiverListener {
public void networkAvailable();
public void networkUnavailable();
}
}
当互联网连接改变时调用广告
查看 here
的完整用法或者您也可以查看this问题