gpt4 book ai didi

android - Android LicenseChecker 上的“无法绑定(bind)到服务”

转载 作者:搜寻专家 更新时间:2023-11-01 09:07:18 24 4
gpt4 key购买 nike

我正在尝试实现 Android 许可证。一切都按照指示做了。但是当由于未经许可使用而需要关闭应用程序时。我得到异常(exception):

06-12 09:11:31.384: E/LicenseChecker(383): Could not bind to service.
06-12 09:11:36.884: E/ActivityThread(383): Activity com.myapp.main.mactivity has leaked ServiceConnection com.google.android.vending.licensing.LicenseChecker@406a4428 that was originally bound here
06-12 09:11:36.884: E/ActivityThread(383): android.app.ServiceConnectionLeaked: Activity com.myapp.main.mactivity has leaked ServiceConnection com.google.android.vending.licensing.LicenseChecker@406a4428 that was originally bound here
06-12 09:11:36.884: E/ActivityThread(383): at android.app.LoadedApk$ServiceDispatcher.<init>(LoadedApk.java:932)
06-12 09:11:36.884: E/ActivityThread(383): at android.app.LoadedApk.getServiceDispatcher(LoadedApk.java:827)
06-12 09:11:36.884: E/ActivityThread(383): at android.app.ContextImpl.bindService(ContextImpl.java:1082)
06-12 09:11:36.884: E/ActivityThread(383): at android.content.ContextWrapper.bindService(ContextWrapper.java:370)
06-12 09:11:36.884: E/ActivityThread(383): at com.google.android.vending.licensing.LicenseChecker.checkAccess(LicenseChecker.java:150)

这可能是什么原因造成的?

我创建的 onCreate 方法:

mHandler = new Handler();

// Try to use more data here. ANDROID_ID is a single point of attack.
String deviceId = Secure.getString(getContentResolver(), Secure.ANDROID_ID);

// Library calls this when it's done.
mLicenseCheckerCallback = new MyLicenseCheckerCallback();
// Construct the LicenseChecker with a policy.
mChecker = new LicenseChecker(
this, new ServerManagedPolicy(this,
new AESObfuscator(SALT, getPackageName(), deviceId)),
BASE64_PUBLIC_KEY);
doCheck();

和onDestroy:

@Override
protected void onDestroy() {
super.onDestroy();
mChecker.onDestroy();
}

那么这个异常到底意味着什么?

最佳答案

我也遇到了这个问题。我正在使用 4.0.4 的 AVD Galaxy Nexus 进行测试。

我尝试了其他线程的建议来使用 getApplicationContext() 而不是使用当前 Activity 的上下文。但这没有帮助。

切换到真实设备确实解决了评论中提到的问题。

另一个可能有效的选项如下:

  1. 使用基于 Google API 的模拟器(在 AVD 管理器中配置)。
  2. 在“设置”中将 Google 帐户添加到模拟器。
  3. 在 Play 商店开发者控制台中验证上述帐户是否在您的 Android 许可测试人员列表中。

关于android - Android LicenseChecker 上的“无法绑定(bind)到服务”,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10991437/

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