编程知识 cdmana.com

【Android初级】如何让APP无法在指定的系统版本上运行

随着市面上越来越多三方APP的出现,某些手机厂商也开始对这些APP进行了安装限制或者运行限制,或者三方APP自身的版本过低,无法被特定的系统版本所支持。

今天我将要模拟实现一个“由于APP自身版本过低、导致无法在当前的系统版本上运行”的功能效果。

实现思路如下:

  1. 要获得APP的目标运行版本,也要知道系统的编译版本

  2. 通过版本比较,在进入该APP时,给用户做出“不支持运行”的提示

  3. 用户确认提示后,直接退出该APP

关键点是 targetSdkVersion 的使用,源码如下:

1、主Activity

public class TargetSdkVersionDemo extends Activity { @Override protected void onCreate(Bundle onSavedInstance) {  super.onCreate(onSavedInstance);  setContentView(R.layout.target_sdk_version_demo);  int appTargetSdkVersion = getApplicationInfo().targetSdkVersion;  Log.i("TargetSdkVersionDemo", "targetsdkversion " + appTargetSdkVersion);    // 我们假设这个APP的目标运行版本不高于 API Level 26  if (appTargetSdkVersion <= Build.VERSION_CODES.O) {   showNotSupportDialog(appTargetSdkVersion);  } } private void showNotSupportDialog(int version) {  new AlertDialog.Builder(this)    .setMessage("该APP的目标运行版本是 " + version + ",低于手机当前的版本,不支持运行!")    .setPositiveButton(android.R.string.ok, new DialogInterface.OnClickListener() {     @Override     public void onClick(DialogInterface dialog, int which) {      // 退出程序      finish();     }    })    .create()    .show(); }}

版权声明
本文为[程序猿欧文]所创,转载请带上原文链接,感谢
https://my.oschina.net/mikeowen/blog/4939358

Scroll to Top