我想通過webView中的觸發器來執行AdMob添加,但我無法訪問該方法。它一直要求我使靜態方法,但如果我這樣做,我無法訪問我的一個變量。如何調用displayAd()方法?
MainActivity.java
public class MainActivity extends AppCompatActivity {
private InterstitialAd mInterstitialAd;
private WebView mWebView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_MainActivity);
MobileAds.initialize(this, "ca-app-pub-XXXXXXXXXXXXXXXX~XXXXXXXXXX");
mInterstitialAd = new InterstitialAd(this);
mInterstitialAd.setAdUnitId("ca-app-pub-XXXXXXXXXXXXXXXX/XXXXXXXXXX");
mInterstitialAd.loadAd(new AdRequest.Builder().build());
mWebView = (WebView) findViewById(R.id.MainActivity);
mWebView.addJavascriptInterface(new WebAppInterface(this), "android");
}
public void displayAd() {
[Ad Code Here]
}
}
WebAppInterface.java
public class WebAppInterface {
Context mContext;
WebAppInterface(Context c) {
mContext = c;
}
@JavascriptInterface
public void ad() {
MainActivity.displayAd();
}
}
此代碼將無法正常工作。我怎樣才能改變它,使其工作?
爲什麼這個代碼不工作?請發佈錯誤消息,並在帖子中突出顯示錯誤消息中的所有行號。 – tima
@tima無法構建項目,因爲它說我的displayAd()函數需要是靜態的。當我將其更改爲靜態時,它會丟失對mInterstitialAd元素的引用。 – TheAndroidProgrammer