java.lang.ClassCastException:android.app.Application无法强制转换

java.lang.ClassCastException:android.app.Application无法强制转换,java,android,Java,Android,我正在关注应用内购买。只是想了解一下它是如何工作的。我有一个很好的想法,但我有这个问题 这是我的Sku活动类,我在CheckoutApplication类中得到一个与对应的错误 final Billing billing = CheckoutApplication.get(this).getmBilling(); mCheckout = Checkout.forActivity(this, billing); //Line with error mCheckout.start()

我正在关注应用内购买。只是想了解一下它是如何工作的。我有一个很好的想法,但我有这个问题

这是我的Sku活动类,我在CheckoutApplication类中得到一个与对应的错误

final Billing billing = CheckoutApplication.get(this).getmBilling();
    mCheckout = Checkout.forActivity(this, billing); //Line with error
    mCheckout.start();


//Separate class 
//This is where the other error is

public static CheckoutApplication get(Activity activity)
{
    return (CheckoutApplication) activity.getAcitivty();
}
我不确定是什么导致了这个错误。欢迎任何帮助。谢谢

在 com.purchases.inapppurchases.CheckoutApplication.get(CheckoutApplication.java:37) 在 com.purchases.inapppurchases.SkuActivity.onCreate(SkuActivity.java:68)

您返回的是活动而不是应用程序,无法成功强制转换。请尝试返回并强制转换实际应用程序:

return (CheckoutApplication) activity.getApplication();
替换这个

public static CheckoutApplication get(Activity activity)
{
    return (CheckoutApplication) activity.getAcitivty();
}

public static CheckoutApplication get(Activity activity)
{
    return (CheckoutApplication) activity.getAcitivty();
}
public static CheckoutApplication get(Activity activity)
{
    return (CheckoutApplication) activity.getApplication();
}