Android 应用内计费问题
我正在尝试在我的 Android 应用程序中实现应用内计费作为一种捐赠形式。
每当我从主 Java 文件中调用 startService(new Intent(mContext, BillingService.class));
时,应用程序会在我运行时强制关闭。因此,要么是我在某个地方遗漏了某些内容,要么是 BillingService 出现了问题。任何帮助将不胜感激,我已经坚持了好几天了。
日志:
12-07 22:56:08.983: E/dalvikvm(23762): could not disable core file generation for pid 23762: Operation not permitted
12-07 22:56:09.764: I/BillingService(23762): Starting
12-07 22:56:09.819: D/AndroidRuntime(23762): Shutting down VM
12-07 22:56:09.819: W/dalvikvm(23762): threadid=1: thread exiting with uncaught exception (group=0x40018560)
12-07 22:56:09.819: E/AndroidRuntime(23762): FATAL EXCEPTION: main
12-07 22:56:09.819: E/AndroidRuntime(23762): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.Calculator.SalesTaxCalculator/com.Calculator.SalesTaxCalculator.Calculator}: java.lang.NullPointerException
12-07 22:56:09.819: E/AndroidRuntime(23762): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1696)
12-07 22:56:09.819: E/AndroidRuntime(23762): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1716)
12-07 22:56:09.819: E/AndroidRuntime(23762): at android.app.ActivityThread.access$1500(ActivityThread.java:124)
12-07 22:56:09.819: E/AndroidRuntime(23762): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:968)
12-07 22:56:09.819: E/AndroidRuntime(23762): at android.os.Handler.dispatchMessage(Handler.java:99)
12-07 22:56:09.819: E/AndroidRuntime(23762): at android.os.Looper.loop(Looper.java:123)
12-07 22:56:09.819: E/AndroidRuntime(23762): at android.app.ActivityThread.main(ActivityThread.java:3806)
12-07 22:56:09.819: E/AndroidRuntime(23762): at java.lang.reflect.Method.invokeNative(Native Method)
12-07 22:56:09.819: E/AndroidRuntime(23762): at java.lang.reflect.Method.invoke(Method.java:507)
12-07 22:56:09.819: E/AndroidRuntime(23762): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
12-07 22:56:09.819: E/AndroidRuntime(23762): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
12-07 22:56:09.819: E/AndroidRuntime(23762): at dalvik.system.NativeStart.main(Native Method)
12-07 22:56:09.819: E/AndroidRuntime(23762): Caused by: java.lang.NullPointerException
12-07 22:56:09.819: E/AndroidRuntime(23762): at android.content.ComponentName.<init>(ComponentName.java:75)
12-07 22:56:09.819: E/AndroidRuntime(23762): at android.content.Intent.<init>(Intent.java:2720)
12-07 22:56:09.819: E/AndroidRuntime(23762): at com.Calculator.SalesTaxCalculator.Calculator.onCreate(Calculator.java:86)
12-07 22:56:09.819: E/AndroidRuntime(23762): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
12-07 22:56:09.819: E/AndroidRuntime(23762): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1660)
12-07 22:56:09.819: E/AndroidRuntime(23762): ... 11 more
清单:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.Calculator.SalesTaxCalculator"
android:versionCode="3" android:versionName="2">
<uses-sdk android:minSdkVersion="4" />
<application android:icon="@drawable/calculator_icon" android:label="@string/app_name">
<activity android:name=".Calculator"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<service android:name="com.Calculator.SalesTaxCalculator.BillingService" />
<receiver android:name="com.Calculator.SalesTaxCalculator.BillingReceiver">
<intent-filter>
<action android:name="com.android.vending.billing.IN_APP_NOTIFY" />
<action android:name="com.android.vending.billing.RESPONSE_CODE" />
<action android:name="com.android.vending.billing.PURCHASE_STATE_CHANGED" />
</intent-filter>
</receiver>
</application>
<uses-permission android:name="com.android.vending.BILLING" />
<activity android:name=".BillingHelper" />
<activity android:name=".BillingSecurity" />
<activity android:name=".C" />
</manifest>
I am trying to implement in-app billing as a form of donation inside my Android app.
Whenever I call startService(new Intent(mContext, BillingService.class));
from my main Java file, the app force closes when I run it. So either I am missing something somewhere or something is wrong with the BillingService. Any help would be greatly appreciated, I have been stuck on this for days now.
LOG:
12-07 22:56:08.983: E/dalvikvm(23762): could not disable core file generation for pid 23762: Operation not permitted
12-07 22:56:09.764: I/BillingService(23762): Starting
12-07 22:56:09.819: D/AndroidRuntime(23762): Shutting down VM
12-07 22:56:09.819: W/dalvikvm(23762): threadid=1: thread exiting with uncaught exception (group=0x40018560)
12-07 22:56:09.819: E/AndroidRuntime(23762): FATAL EXCEPTION: main
12-07 22:56:09.819: E/AndroidRuntime(23762): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.Calculator.SalesTaxCalculator/com.Calculator.SalesTaxCalculator.Calculator}: java.lang.NullPointerException
12-07 22:56:09.819: E/AndroidRuntime(23762): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1696)
12-07 22:56:09.819: E/AndroidRuntime(23762): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1716)
12-07 22:56:09.819: E/AndroidRuntime(23762): at android.app.ActivityThread.access$1500(ActivityThread.java:124)
12-07 22:56:09.819: E/AndroidRuntime(23762): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:968)
12-07 22:56:09.819: E/AndroidRuntime(23762): at android.os.Handler.dispatchMessage(Handler.java:99)
12-07 22:56:09.819: E/AndroidRuntime(23762): at android.os.Looper.loop(Looper.java:123)
12-07 22:56:09.819: E/AndroidRuntime(23762): at android.app.ActivityThread.main(ActivityThread.java:3806)
12-07 22:56:09.819: E/AndroidRuntime(23762): at java.lang.reflect.Method.invokeNative(Native Method)
12-07 22:56:09.819: E/AndroidRuntime(23762): at java.lang.reflect.Method.invoke(Method.java:507)
12-07 22:56:09.819: E/AndroidRuntime(23762): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
12-07 22:56:09.819: E/AndroidRuntime(23762): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
12-07 22:56:09.819: E/AndroidRuntime(23762): at dalvik.system.NativeStart.main(Native Method)
12-07 22:56:09.819: E/AndroidRuntime(23762): Caused by: java.lang.NullPointerException
12-07 22:56:09.819: E/AndroidRuntime(23762): at android.content.ComponentName.<init>(ComponentName.java:75)
12-07 22:56:09.819: E/AndroidRuntime(23762): at android.content.Intent.<init>(Intent.java:2720)
12-07 22:56:09.819: E/AndroidRuntime(23762): at com.Calculator.SalesTaxCalculator.Calculator.onCreate(Calculator.java:86)
12-07 22:56:09.819: E/AndroidRuntime(23762): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
12-07 22:56:09.819: E/AndroidRuntime(23762): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1660)
12-07 22:56:09.819: E/AndroidRuntime(23762): ... 11 more
MANIFEST:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.Calculator.SalesTaxCalculator"
android:versionCode="3" android:versionName="2">
<uses-sdk android:minSdkVersion="4" />
<application android:icon="@drawable/calculator_icon" android:label="@string/app_name">
<activity android:name=".Calculator"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<service android:name="com.Calculator.SalesTaxCalculator.BillingService" />
<receiver android:name="com.Calculator.SalesTaxCalculator.BillingReceiver">
<intent-filter>
<action android:name="com.android.vending.billing.IN_APP_NOTIFY" />
<action android:name="com.android.vending.billing.RESPONSE_CODE" />
<action android:name="com.android.vending.billing.PURCHASE_STATE_CHANGED" />
</intent-filter>
</receiver>
</application>
<uses-permission android:name="com.android.vending.BILLING" />
<activity android:name=".BillingHelper" />
<activity android:name=".BillingSecurity" />
<activity android:name=".C" />
</manifest>
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
我希望这对你有所帮助。它对我有用。
I hope this will help you somewhat.It works for me.
查看 LogCat 中的这一行:
您的
onCreate
方法中有一个NullPointerException
,因此请检查第86
行。Take a look at this line from your LogCat :
You have a
NullPointerException
in youronCreate
method, so check line86
.