小编ste*_*ple的帖子

多个帐户的应用内购买

在应用购买/订阅时遇到问题:

如果设备上有多个帐户,我无法获得使用第二个帐户进行的购买.通过从Google Play网络界面安装应用程序,有时可以暂时解决此问题,但过了一段时间,购买将不会出现在查询中,从而迫使用户重新安装.

我正在使用此示例中的IabHelper类.

做一些谷歌搜索,我发现这个错误存在一段时间,但不幸的是我无法找出错误是在IabHelper类中还是在Google方面.

我想引起人们对谷歌的关注,因此他们可以在IabHelper课程或Play服务中为此提供适当的解决方案,或提供信息,以及如何处理.

我正在使用应用程序中的代码(在撰写本文时)900.000活跃用户安装,我必须触发相当多的退款,因为这.

如果有一个我想念的修复,请告诉我.

编辑:有时即使手机上只有一个帐户,也无法检索购买.

android in-app-billing google-play android-billing google-play-services

63
推荐指数
1
解决办法
5539
查看次数

GPS Manifest:应用程序中的GPS是可选的,也希望它可用于GPS较少的设备

在今天将我的应用程序上传到市场上时,我发现它仅适用于带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是否关闭.

gps android android-manifest

28
推荐指数
1
解决办法
8316
查看次数

App会在每次重启时导致AOT(优化应用)

我的Android应用程序似乎会在每次重启后为某些用户提前编译.仅优化了单个应用程序:优化App 1 of 1

如果重要,该应用程序使用JNI.我不知道从哪里开始寻找.想法?

android

9
推荐指数
1
解决办法
345
查看次数

Android:DialogFragment中的位图大小超过32位

这不是Android开发者控制台神秘堆栈跟踪的重复(位图大小超过32位)

这个问题没有提供单行代码,也没有答案; 此外,即使我将位图大小设置为32x32,我也会收到此错误,它是唯一的Bitmap,因此它与内存无关.

我想做的事

  1. 获取ImageView的大小,
  2. 创建一个BitMap
  3. 并在画布上画一些东西.

所述Log.e用于ImageView的大小,因此位图输出为:

Width: 272
Height: 136
Run Code Online (Sandbox Code Playgroud)

怎么了

以下代码适用于Nexus4,Nexus7和Desire HD(CM10),但在模拟器上运行应用程序会给出如下所示的错误(API 8).

发现

  1. 我尝试过它的一半大小和32x32,这给出了同样的错误.

  2. 我在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)

android bitmap imageview

5
推荐指数
1
解决办法
4697
查看次数

检查半透明导航是否可用

如何检查半透明导航是否可用?

我目前将其设置为半透明:

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之后检查它是否是半透明的,或者之前是否可用.

android

5
推荐指数
1
解决办法
4272
查看次数