从单独的活动

时间:2016-03-15 16:59:40

标签: java android

我有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);
        }
    });
}

3 个答案:

答案 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);
     }