将需要的库文件导入了libs以后

我直接右键“Add as Library”

然后设置Manifest.xml

service            android:name="com.baidu.location.f"            android:enabled="true"            android:process=":remote" >                                                                        //申请的key值


声明权限

                                                                                                            

获取代码

package com.wb.fff;import android.os.Bundle;import android.support.v7.app.AppCompatActivity;import android.util.Log;import android.view.View;import android.widget.TextView;import com.baidu.location.BDLocation;import com.baidu.location.BDLocationListener;import com.baidu.location.LocationClient;import com.baidu.location.LocationClientOption;public class MainActivity extends AppCompatActivity {    private final String TAG = "MainActivity";    private LocationClient mLocationClient;    private BDLocationListener mBDLocationListener;    private TextView textView;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        // 声明LocationClient类        mLocationClient = new LocationClient(getApplicationContext());        mBDLocationListener = new MyBDLocationListener();        // 注册监听        mLocationClient.registerLocationListener(mBDLocationListener);        textView=(TextView) findViewById(R.id.textView);    }    /** 获得所在位置经纬度及详细地址 */    public void getLocation(View view) {        // 声明定位参数        LocationClientOption option = new LocationClientOption();        option.setLocationMode(LocationClientOption.LocationMode.Hight_Accuracy);// 设置定位模式 高精度        option.setCoorType("bd09ll");// 设置返回定位结果是百度经纬度 默认gcj02        option.setScanSpan(5000);// 设置发起定位请求的时间间隔 单位ms        option.setIsNeedAddress(true);// 设置定位结果包含地址信息        option.setAddrType("all");        option.setNeedDeviceDirect(true);// 设置定位结果包含手机机头 的方向        // 设置定位参数        mLocationClient.setLocOption(option);        // 启动定位        mLocationClient.start();    }    @Override    protected void onDestroy() {        // TODO Auto-generated method stub        super.onDestroy();        // 取消监听函数        if (mLocationClient != null) {            mLocationClient.unRegisterLocationListener(mBDLocationListener);        }    }    private class MyBDLocationListener implements BDLocationListener {        @Override        public void onReceiveLocation(BDLocation location) {            // 非空判断            if (location != null) {                // 根据BDLocation 对象获得经纬度以及详细地址信息                double latitude = location.getLatitude();                double longitude = location.getLongitude();                String address = location.getAddrStr();                System.out.print("address:" + address + " latitude:" + latitude                        + " longitude:" + longitude + "---");                Log.i(TAG, "address:" + address + " latitude:" + latitude                        + " longitude:" + longitude + "---");                textView.setText("address:" + address + " latitude:" + latitude                        + " longitude:" + longitude + "---");                if (mLocationClient.isStarted()) {                    // 获得位置之后停止定位                    mLocationClient.stop();                }            }        }    }}

结果返回

address null

latitude 4.9E-324

longitude 4.9E-324


回去排除发现

权限也打开了

库也导入了

但是.so文件未进行编译


需要在build.gradle中加入以下部分

在android下加入

sourceSets{        main{            jniLibs.srcDirs=['libs']        }    }






更多相关文章

  1. Android(安卓)8.0系统上使用WindowManager添加view的一个问题
  2. 安卓010 Content Provider
  3. Android音乐播放器-图片素材准备及布局
  4. Textview与Button设置圆角
  5. 编译用于Android的busybox---步骤,问题和解决
  6. Android之权限(permission)大全
  7. android中的权限说明
  8. Android小程序——拨打电话
  9. android 全局dialog的实现

随机推荐

  1. 无线io开关量点对点采集还原互控组网图
  2. EGG NETWORK阿凡提以“自由匿名竞价”流
  3. HBase应用与发展之HBase应用与高可用实践
  4. 如何学习linux
  5. 无线不能连接故障又一例
  6. VMware ESXi 6.5补丁升级
  7. js基础:变量与常量的声明以及函数知识
  8. javascript基础(一)
  9. 一淘邀请码JAG42一淘密令的输入方法
  10. 再见,Python!你好,Go语言