2015-04-02 43 views
0

當應用程序正在運行,所以我不能正確退出我添加了一個日誌消息應用程序的onBackPressed方法不叫,但我沒有看到它的任何地方叫什麼可能是問題onBackPressed工作不

MainActivity

@Override 
public void onBackPressed() { 
    Log.v(TAG, "=== onBackPressed start ==="); 

    if (GoogleSocial.onBackPressed()) 
     return; 
    else 
     super.onBackPressed(); 

    Log.v(TAG, "=== onBackPressed end ==="); 
} 

GoogleSocial

public class GoogleSocial { 
private static final String TAG = "Chartboost"; 

static Chartboost s_cb = null; 
static Activity s_act = null; 
private static AppLovinSdk sdk; 


public static void init(final Activity act, final String appId, final String appSign, String mopubId, boolean isPaid) { 
    s_act = act; 
    act.runOnUiThread(new Runnable() { 
     public void run() { 
      Chartboost.startWithAppId(act, appId, appSign); 
      Chartboost.setLoggingLevel(Level.ALL); 
      AppLovinSdk.initializeSdk(s_act); 

     } 
    }); 


} 

public static void showBanner() { 

} 

public static void hideBanner() { 

} 
public static void showInterstitialAdForSdkKey(final String sdkKey){ 
    Log.v(TAG, "showFullScreen");   

    sdk = AppLovinSdk.getInstance("bIEl5bkQbMybxFHahXaFxgSMsK2MesEF8qDLfXN1BEFQMiPam5EP9qe8eAhADrxCe8X", new AppLovinSdkSettings(), s_act); 
    AppLovinInterstitialAd.show(s_act); 

    s_act.runOnUiThread(new Runnable() { 

     public void run() { 

      AppLovinInterstitialAd.show(sdk, s_act); 
    } 
}); 

} 
public static void showAd() { 
    Log.v(TAG, "Aggregator.showAd() is called..."); 

    s_act.runOnUiThread(new Runnable() {        
     public void run() { 
//    s_cb.showMoreApps(); 
      showInterstitialAdForSdkKey("bIEl5bkQbMybxFHahXaFxgSMsK2MesEF8qDLfXN1BEFQMiPam5EP9qe8eAhADrxCe8X"); 
      Chartboost.showInterstitial(CBLocation.LOCATION_DEFAULT); 
//    Chartboost.showRewardedVideo(CBLocation.LOCATION_DEFAULT); 
//    Chartboost.showMoreApps(CBLocation.LOCATION_DEFAULT); 
     }   
    }); 
} 

public static void showMoregame() { 
    Log.v(TAG, "showMoreApps() is called..."); 

    s_act.runOnUiThread(new Runnable() {        
     public void run() { 
//    s_cb.showMoreApps(); 
//    Chartboost.showInterstitial(CBLocation.LOCATION_DEFAULT); 
//    Chartboost.showRewardedVideo(CBLocation.LOCATION_DEFAULT); 
      Chartboost.showMoreApps(CBLocation.LOCATION_DEFAULT); 
     }   
    }); 
} 

public static void onStart() { 

    Chartboost.onStart(s_act);  

} 
public static void onPause() { 

    Chartboost.onPause(s_act); 
} 

public static void onStop() { 

    Chartboost.onStop(s_act); 

    } 

public static void onResume() { 
    Chartboost.onResume(s_act); 
} 

public static void onDestroy() { 

    Chartboost.onDestroy(s_act); 

} 
public static boolean onBackPressed() { 

    if (Chartboost.onBackPressed()) 
     return true; 
    return true; 
} 
} 
+1

什麼是GoogleSocial? – androidevil 2015-04-02 06:34:04

+0

你在'onCreate'裏面調用它嗎? – 2015-04-02 06:35:33

+0

這是另一類完全添加在頂端的帖子,並沒有它不在內部調用onCreate – 2015-04-02 06:39:07

回答

0

如果您onBackPressed()不工作,然後你可以覆蓋onKeyDown()方法和發現是否柯y是Back或不是

@Override 
public boolean onKeyDown(int keyCode, KeyEvent event) { 
    if (keyCode == KeyEvent.KEYCODE_BACK) { 
     // Do something. 
    } 

這可能適合你。

0

如果您希望應用程序響應後退按鈕,您必須始終致電super.onBackPressed()。在您的覆蓋onBackPressed()有一個ifelse條件,可能會讓它跳過呼叫super.onBackPressed()

0

嘗試這將有助於

​​