gpt4 book ai didi

android - 获取上下文的问题

转载 作者:太空宇宙 更新时间:2023-11-03 10:18:00 28 4
gpt4 key购买 nike

我制作了一个适用于播放服务的应用程序。我在 HTC 310、nexus、lenovo p780 和其他一些设备上测试了我的应用程序。它根本不会崩溃。我已经安装了 Crashlytics 并收到了一些奇怪的崩溃报告:

java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String android.content.Context.getPackageName()' on a null object reference
at com.preferences.iaps.IabHelper.queryPurchases(IabHelper.java:829)
at com.preferences.iaps.IabHelper.queryInventory(IabHelper.java:557)
at com.preferences.iaps.IabHelper.queryInventory(IabHelper.java:521)
at com.preferences.iaps.IabHelper$2.run(IabHelper.java:614)
at java.lang.Thread.run(Thread.java:818)

我从 s4、s5 等三星手机收到此错误。是这些设备有问题还是app有问题?

这是我调用 Iabhelper 并将上下文传递给 Iabhelper 的示例:

   @Override
public void onAttach(Activity activity) {
super.onAttach(activity);
mActivity = activity;
}

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);

setRetainInstance(true);

mHelper = new IabHelper(mActivity, base64EncodedPublicKey);
mHelper.enableDebugLogging(true);
mHelper.startSetup(this);
}

这是导致抛出的空指针异常的原因:(第 829 行):

 logDebug("Package name: " + mContext.getPackageName());

这是我获取上下文的地方(错误所在的同一类)

public IabHelper(Context ctx, String base64PublicKey) {
mContext = ctx.getApplicationContext();
mSignatureBase64 = base64PublicKey;
logDebug("IAB helper created.");
}

最佳答案

如果你使用下面的,你有同样的问题吗:

mHelper = new IabHelper(getActivity(), base64EncodedPublicKey);

编辑我注意到错误在您的类(class)中:

com.preferences.iaps.IabHelper.queryPurchases(IabHelper.java:829)

您确定在 IabHelper 的构造函数中保留了上下文变量,并且在 queryPurchases 中使用了相同的变量吗?

EDIT2

logDebug("Package name: " + mContext.getPackageName());

mContext 在类中为 null - 您需要确保在 IabHelper 的构造函数中设置它

关于android - 获取上下文的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32056420/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com