2016-04-30 31 views
0

我需要做的是在歡迎場景(當遊戲開始時)之後關閉Android應用程序中的廣告。調用「adView.setVisibility(AdView.INVISIBLE)」崩潰Android NDK應用程序

在我的Android NDK的應用程序的Java中的onCreate,我AdView的可見性設置爲可見,這會彈出一個廣告在我的歡迎場景:

"adView.setVisibility(AdView.VISIBLE)" 

在此之後,我的代碼轉到C++的一部分,然後從那裏我呼籲這將設置AdView的知名度,無形另一個JNI功能,我實現了這個功能,在同一個班如上:

"adView.setVisibility(AdView.INVISIBLE)" 

然而,應用程序崩潰,只是給了我一個致命的異常。 任何人都很熟悉爲什麼會發生這種情況?

+0

「只給出致命異常」有點沒有幫助。我肯定在異常/崩潰轉儲的某處應該說出發生了什麼樣的問題? – zenzelezz

回答

0

添加在Activity類的處理程序:

public static myactivityClass me = null; 
private static Handler handler; 

中的onCreate添加 「上」 把廣告的方法或 「關」 活動類的方法:

protected void onCreate(Bundle savedInstanceState){ 

    super.onCreate(savedInstanceState); 
    myactivityClass.me = this; 

    handler = new Handler(){   
       public void handleMessage(Message msg) { 
       switch (msg.what) 
       { 
        case 1: 
        setShowAd(true); 
        break; 
        case 0: 
        setShowAd(false); 
        break; 
       } 
      } 
    }; 

實施「setShowAd 「在類:

public void setShowAd(boolean visible) 
{ 
     AdView adView = (AdView) this.findViewById(R.id.adView); 
     if (visible) 
     { 
      adView.setVisibility(AdView.VISIBLE); 
      adView.bringToFront(); 
     } 
     else 
     { 
      adView.setVisibility(AdView.INVISIBLE); 
     } 
} 

public static void toggleAds(boolean a_switch) 
{ 
     Message msg = new Message(); 
     if (a_switch) 
      msg.what = 1; 
     else 
      msg.what = 0; 

     handler.sendMessage(msg); 
} 

不要忘記在JNI

0實施toggleAds