android老项目改成支持所有新android版本10 11等 编码乱码This app was built for an older version of 蓝牙搜不到设备 - Go语言中文社区

android老项目改成支持所有新android版本10 11等 编码乱码This app was built for an older version of 蓝牙搜不到设备


测试手机:红米9A android10

开发环境:android studio 4.1.1

项目遇到的问题:原eclipse开发的app,不支持android 6.0及以上手机,安装不了。

最终结果:全部正常,升级到android studio,

找我200元改一个代码。

     

1.编码乱码:

https://blog.csdn.net/chenhao0568/article/details/106600230?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522161857984016780255215317%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257D&request_id=161857984016780255215317&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~blog~first_rank_v2~rank_v29-2-106600230.pc_v2_rank_blog_default&utm_term=%E4%B9%B1%E7%A0%81

2.应用在 Android P 上启动时显示 “This app was built for an older version of Android and may not work properly...”

原因:应用的 targetSdkVersion 太旧 ( <17 )

建议:targetSdkVersion 30

3.蓝牙

https://blog.csdn.net/chenhao0568/article/details/50950227?spm=1001.2014.3001.5502

打开蓝牙和位置 ,如果没有提示打开,一定要手工打开,不然搜不到设备

还不够

  • 权限 
   <uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
   <uses-permission android:name="android.permission.BLUETOOTH" />
   <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
   <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
  • 提示打开 蓝牙和位置 功能
    private static final int REQUEST_CODE_LOCATION_SETTINGS = 2;
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);


        if (mBluetoothAdapter == null || !mBluetoothAdapter.isEnabled()) {
		    Intent enableBtIntent = new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE);
		    startActivityForResult(enableBtIntent, REQUEST_ENABLE_BT);
		}
		if(!isLocationEnabled(this))
		{
			Intent intent = new Intent(Settings.ACTION_LOCATION_SOURCE_SETTINGS);
			startActivityForResult(intent, REQUEST_CODE_LOCATION_SETTINGS);
		}
	}



	public static boolean isLocationEnabled(Context context) {
		LocationManager locationManager = (LocationManager) context.getSystemService(Context.LOCATION_SERVICE);
		if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) {
			return locationManager.isLocationEnabled();
		}
		boolean gps = locationManager.isProviderEnabled(LocationManager.GPS_PROVIDER);
		boolean network = locationManager.isProviderEnabled(LocationManager.NETWORK_PROVIDER);
		if (gps || network) {
			return true;
		}
		return false;
	}

 

版权声明:本文来源CSDN,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/chenhao0568/article/details/115772423
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。
  • 发表于 2021-05-15 22:37:39
  • 阅读 ( 1514 )
  • 分类:

0 条评论

请先 登录 后评论

官方社群

GO教程

猜你喜欢