我在应用购买/订阅时遇到问题:
如果设备上有多个帐户,我无法获得使用第二个帐户进行的购买.通过从Google Play网络界面安装应用程序,有时可以暂时解决此问题,但过了一段时间,购买将不会出现在查询中,从而迫使用户重新安装.
我正在使用此示例中的IabHelper类.
做一些谷歌搜索,我发现这个错误存在一段时间,但不幸的是我无法找出错误是在IabHelper类中还是在Google方面.
我想引起人们对谷歌的关注,因此他们可以在IabHelper课程或Play服务中为此提供适当的解决方案,或提供信息,以及如何处理.
我正在使用应用程序中的代码(在撰写本文时)900.000活跃用户安装,我必须触发相当多的退款,因为这.
如果有一个我想念的修复,请告诉我.
编辑:有时即使手机上只有一个帐户,也无法检索购买.
android in-app-billing google-play android-billing google-play-services
在今天将我的应用程序上传到市场上时,我发现它仅适用于带GPS的设备,因此不包括某些平板电脑.
我的应用程序中的GPS是可选的.是否有可能为带有和不带GPS的设备发布一个应用程序,或者我是否需要制作一个额外的版本(不过会有问题)?
如果有可能,我想有一种方法可以检查是否(deviceHasGPS()){...}.有吗?
这是我的清单的一部分:
<uses-permission android:name="android.permission.PREVENT_POWER_KEY" />
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.WRITE_SETTINGS" />
<uses-permission android:name="com.android.vending.CHECK_LICENSE" />
Run Code Online (Sandbox Code Playgroud)
编辑:感谢答案Raghav Sood!
添加到清单:
<uses-feature android:name="android.hardware.location.gps"
android:required="false" />
Run Code Online (Sandbox Code Playgroud)
实施以下内容:
locationManager = (LocationManager) this.getSystemService(Context.LOCATION_SERVICE);
boolean deviceHasGPS = false;
if (locationManager.getAllProviders().contains(LocationManager.GPS_PROVIDER)) {
deviceHasGPS = true;
}
Run Code Online (Sandbox Code Playgroud)
要在具有gps的设备上测试它,只需使用if(deviceHasGPS){...}围绕gps,然后在清单中删除:
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
Run Code Online (Sandbox Code Playgroud)
将deviceHasGPS设置为始终为false并查看App force是否关闭.
我的Android应用程序似乎会在每次重启后为某些用户提前编译.仅优化了单个应用程序:优化App 1 of 1
如果重要,该应用程序使用JNI.我不知道从哪里开始寻找.想法?
这不是Android开发者控制台中神秘堆栈跟踪的重复(位图大小超过32位)
这个问题没有提供单行代码,也没有答案; 此外,即使我将位图大小设置为32x32,我也会收到此错误,它是唯一的Bitmap,因此它与内存无关.
我想做的事
所述Log.e
用于ImageView的大小,因此位图输出为:
Width: 272
Height: 136
Run Code Online (Sandbox Code Playgroud)
怎么了
以下代码适用于Nexus4,Nexus7和Desire HD(CM10),但在模拟器上运行应用程序会给出如下所示的错误(API 8).
发现
我尝试过它的一半大小和32x32,这给出了同样的错误.
我在DialogFragment中显示ImageView(针对API 8的ActionBarSherlock/HoloEveryWhere),也许这就是罪魁祸首?
ImageView的:
<ImageView
android:id="@+id/imageView1"
android:layout_width="match_parent"
android:layout_height="1dp"
android:layout_marginBottom="12dp"
android:layout_marginTop="12dp" />
Run Code Online (Sandbox Code Playgroud)
在我的活动中:
iv = (ImageView) view.findViewById(R.id.imageView1);
ViewTreeObserver vto = iv.getViewTreeObserver();
vto.addOnPreDrawListener(new ViewTreeObserver.OnPreDrawListener() {
@Override
public boolean onPreDraw() {
if (!waveFormMeasured) {
if (iv.getMeasuredWidth() > 1) {
width = iv.getMeasuredWidth();
Log.e(TAG, "Width: " + width + " Height: " + width / 2);
waveBitmap = Bitmap.createBitmap((int) width, …
Run Code Online (Sandbox Code Playgroud) 如何检查半透明导航是否可用?
我目前将其设置为半透明:
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
translucentNavigation = true;
Window w = getWindow();
w.setFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION,WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION);
}
Run Code Online (Sandbox Code Playgroud)
但是因为我看到它被禁用了某些设备(比如N10),当然如果存在硬键就会被禁用,我想在设置FLAG之后检查它是否是半透明的,或者之前是否可用.