当前位置: 首页 > news >正文

网站后台功能模块设计廊坊seo网络推广

网站后台功能模块设计,廊坊seo网络推广,中国服务外包公司排名,柳州网站建设找华仔在Unity使用低功耗蓝牙通信(BLE)需要用到设备的位置信息。但是调用Input.location.Start()程序会闪退。 解决办法:调用原生安卓接口。 参见《Unity2021通过aar调用Android方法》编写一个aar插件gpsplugin,在插件中提供获取GPS位…

在Unity使用低功耗蓝牙通信(BLE)需要用到设备的位置信息。但是调用Input.location.Start()程序会闪退。

解决办法:调用原生安卓接口。 

参见《Unity2021通过aar调用Android方法》编写一个aar插件gpsplugin,在插件中提供获取GPS位置的接口StartGPSLocation,插件代码如下

package com.example.gpsplugin;import android.app.Activity;
import android.content.Context;
import android.location.Location;
import android.location.LocationListener;
import android.location.LocationManager;
import android.os.Bundle;
import android.widget.Toast;public class GPSPluginInstance {private LocationManager locationManager;private LocationListener locationListener;private static final int REQUEST_LOCATION_PERMISSION = 1;double latitude = 0.0;double longitude = 0.0;public int Add(int i, int j) {return i + j;}private static Activity unityActivity;public static void receiveUnityActivity(Activity tActivity) {unityActivity = tActivity;}public void Toast(String msg) {Toast.makeText(unityActivity, msg, Toast.LENGTH_SHORT).show();}public void StartGPSLocation() {// 初始化 LocationManagerlocationManager = (LocationManager) unityActivity.getSystemService(Context.LOCATION_SERVICE);// 创建 LocationListenerif(locationListener == null){locationListener = new LocationListener() {@Overridepublic void onLocationChanged(Location location) {if (location != null) {latitude = location.getLatitude();longitude = location.getLongitude();}}@Overridepublic void onStatusChanged(String provider, int status, Bundle extras) {// 状态改变时调用}@Overridepublic void onProviderEnabled(String provider) {// 提供者启用时调用}@Overridepublic void onProviderDisabled(String provider) {// 提供者禁用时调用}};}locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 5000, 0, locationListener);}
}

AndroidManifest.xml中添加蓝牙和位置权限(注意Android12以上和之前的版本不一样)

  <uses-permission android:name="android.permission.BLUETOOTH_SCAN" /><uses-permission android:name="android.permission.BLUETOOTH_CONNECT" />  <uses-permission android:name="android.permission.BLUETOOTH_ADMIN"/><uses-permission android:name="android.permission.BLUETOOTH"/><uses-feature android:name="android.hardware.bluetooth_le" android:required="false"/><uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/><uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>

Unity代码,在使用Input.location.Start()的地方替换成StartGPSLocation就行了

public class BLEBluetoothGunMgr : MonoBehaviour
{void Start(){InitializePlugin("com.example.gpsplugin.GPSPluginInstance");}public void GetPos(){   //Input.location.Start()StartGPSLocation();}void InitializePlugin(string pluginName){unityClass = new AndroidJavaClass("com.unity3d.player.UnityPlayer");unityActivity = unityClass.GetStatic<AndroidJavaObject>("currentActivity");_pluginInstance = new AndroidJavaObject(pluginName);if (_pluginInstance == null){Debug.Log("Plugin Instance Error");}_pluginInstance.CallStatic("receiveUnityActivity", unityActivity);}public void Toast(){if (_pluginInstance != null){_pluginInstance.Call("Toast", "Hi,from Unity");}}public void StartGPSLocation(){if (_pluginInstance != null){_pluginInstance.Call("StartGPSLocation");}}
}

http://www.sczhlp.com/news/32434/

相关文章:

  • 化妆品网站html模板国际新闻视频
  • 网站适配手机seo搜索优化
  • 专业网站设计招聘信息企业信息查询
  • 友情链接权重高的网站搜索引擎优化技术都有哪些
  • p2p金融网站建设培训网络营销机构
  • 兰州互联网公司的排名搜索引擎优化seo培训
  • 官网网站优化公司口碑营销成功案例有哪些
  • 建筑专业网站营销策略怎么写模板
  • 自已如何做网站营销策划公司
  • 泊头做网站电话chatgpt中文在线
  • 哪些网站可以做日语翻译seo排名怎么样
  • 全球最好的域名注册公司网站搭建谷歌seo
  • 如何网站里做照片百度指数的基本功能
  • 怎么重启网站服务器全国疫情高峰感染高峰进度查询
  • 网站上面的在线咨询是怎么做的互联网公司有哪些
  • 建设网站硬件关键词林俊杰的寓意
  • 福建龙泉建设有限公司网站网站批量查询
  • 制作视频网站建设网络营销一个月能挣多少钱
  • 小说主角重生之后做网站最常见企业网站公司有哪些
  • 网站结构分析怎么做网络营销与策划实践报告
  • 设计公司网站页面设计万网商标查询
  • 深圳市建设工程交易服务网站百度seo优化及推广
  • 黑河北京网站建设全网营销课程
  • 有哪些程序做的网站app开发软件
  • 福州市交通建设集团有限公司 网站软件培训
  • 临汾网站建设费用二级域名查询网站
  • 工商部门在线咨询seo是什么意思中文翻译
  • ssh jsp做网站对网站外部的搜索引擎优化
  • 上海外包软件开发长尾词优化外包
  • 做网站用百度地图和天地图网络服务主要包括什么