我有2个活动" MainActivity"和" MainActivity2"。一个Admob-Banner显示在底部的两个活动中。
我的问题:我想通过按下MainActivity中的按钮来禁用两个横幅。但由于我是Android和开发新手,我缺乏经验。我在互联网上搜索,但找不到我的问题的有效答案。
我的问题:有没有办法在我的方法中链接来自不同活动的Ad-ID以及最佳方法是什么?
这是我到目前为止从MainActivity调用的方法:
private void hide() {
//This is the Ad from MainActivity
final AdView adLayout = (AdView) findViewById(R.id.adView);
final Button disableAds = (Button) findViewById(R.id.disableAds);
runOnUiThread(new Runnable() {
@Override
public void run() {
adLayout.setEnabled(false);
adLayout.setVisibility(View.GONE);
disableAds.setEnabled(false);
disableAds.setVisibility(View.GONE);
}
});
}
答案 0 :(得分:0)
如果您正在呼叫" MainActivity2"来自" MainActivity":
//Code in "MainActivity" while starting "MainActivity2":
Intent intent = new Intent(MainActivity.this, MainActivity2.class);
intent.putExtra("isAdDisabled", true);// pass true if ad is disabled otherwise false
startActivity(intent);
//Code in onCreate of "MainActivity2":
Intent intent = getIntent();
boolean isAdDisabled = intent.getBooleanExtra("isAdDisabled", false);
if(isAdDisabled){
// code to hide adview
}
答案 1 :(得分:0)
单击按钮时,使用共享首选项在主活动中存储布尔值(isAdsDisabled)。
Editor editor = context.getSharedPreferences("ADS_PREF", Context.MODE_PRIVATE).edit();
editor.putBoolean(ADS_DIABLED, isAdsDisabled);
如果您想在第二个活动中展示广告以决定是否应该展示广告,您可以再次查询此内容。
您可以使用
执行此操作SharedPreferences preferences = context.getSharedPreferences("ADS_PREF", Context.MODE_PRIVATE);
boolean isAdsDisabled = preferences.getBoolean(ADS_DIABLED, false);
你可以检查isAdsDisabled的值来决定它。
答案 2 :(得分:0)
每按一次禁用按钮,执行一项操作即可保存共享首选项中的状态。在每个活动onStart()方法中检查值的状态。根据该值显示/隐藏活动中的广告横幅。
String MyPREFERENCES = "myPrefs" ;
SharedPreferences sharedpreferences;
sharedpreferences = getSharedPreferences(MyPREFERENCES, Context.MODE_PRIVATE);
单击按钮时设置值
Editor editor = sharedpreferences.edit();
editor.putString("show_ads", "no");
editor.commit();
然后onStart()方法获取“show_ads”的值,基于显示/隐藏AD的值。
sharedpreferences = getSharedPreferences(MyPREFERENCES, Context.MODE_PRIVATE);
String name=sharedpreferences.getString("show_ads", "yes");
if(name.equals("yes")){
adLayout.setEnabled(true);
adLayout.setVisibility(View.VISIBLE);
disableAds.setEnabled(true);
disableAds.setVisibility(View.VISIBLE);
}else{
adLayout.setEnabled(false);
adLayout.setVisibility(View.GONE);
disableAds.setEnabled(false);
disableAds.setVisibility(View.GONE);
}