您是否可以限制特定的Android API版本从Google Play商店运行/下载应用?

时间:2014-01-13 19:17:41

标签: java android google-play android-manifest android-version

好的,所以我正在处理我正在制作并计划发布的应用程序的这个问题,但问题只出现在android SDK的一个版本(版本4.1.1 API 16)上。

我可以限制JUST android版本4.1.1 API 16下载和运行我的应用程序吗?

我知道googlePlay有一个限制某些设备列表,但问题是因为操作系统版本而不是设备,至少从调试开始就是这样......

我也知道清单文件中有uses-sdk属性:

<uses-sdk android:minSdkVersion="integer"
          android:targetSdkVersion="integer"
          android:maxSdkVersion="integer" />

但是将android:minSdkVersion设置为17将会很高并且不会被许多用户使用,我也付出了很多努力使应用程序向后兼容并在3.0之前的设备上运行良好,它只是这个Android版本4.1.1导致我麻烦的API 16 ......

请帮忙!谢谢!

修改:这是我在应用清单中的当前uses-sdk:

<uses-sdk
    android:minSdkVersion="8"
    android:targetSdkVersion="17" />

使用相关代码进行修改

//button listener for the number buttons. Each button will display a number 1 - 10
//upon clicking the button the number that is displayed on the button will be
//added to what is displayed in the textView
//
//mCurrentWorkingText is the current expression that is being added updated.
View.OnClickListener genericNumberButtonListener = new View.OnClickListener() {

    @Override
    public void onClick(View v) {
    //cast the incoming view to a textView so we can get
    //the text the button displays
        TextView textView = (TextView) v;
        String textFromButton = textView.getText().toString();

        if (mCurrentWorkingText.length() == 0) {
            mWorkingTextView.setText(mWorkingTextView.getText()
                    .toString().concat(textFromButton));
            mCurrentWorkingText = textFromButton;
        } else {
                    // if the working TextView isn't zero we need to
                    // append
                    // the
                    // textFromButton to what is already there.
                    mWorkingTextView.setText(mWorkingTextView.getText()
                            .toString().concat(textFromButton));
                    mCurrentWorkingText = mCurrentWorkingText
                            .concat(textFromButton);


        }
    }
};

使用问题日志进行编辑enter image description here

字符串几乎随机变为上一个日志语句中的完全随机数。

2 个答案:

答案 0 :(得分:1)

您可以阻止该应用运行。

不,在minSDKVersionmaxSDKVersion/targetSDKVersion

之间的API上,您无法阻止该应用下载

您可以这样检查:

if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.GINGERBREAD &&         android.os.Build.VERSION.SDK_INT <= android.os.Build.VERSION_CODES.HONEYCOMB) {

 // For gingerbread but lesser than HONEYCOMB, show a dialog or something and close the app
 finish();

}

答案 1 :(得分:0)

所以我遇到的问题是由我使用的pageTransformer引起的。 Android 4.1.1真的不喜欢它。我不知道为什么,但我所知道的是,如果你正在使用带有自定义视图和ActionBarSherlock的pageTransformer,那么在使用pageTransformer向页面轮流添加动画时最好小心。