2016-04-30 32 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