Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
S
ShenghuoquanBusiness
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
bp
ShenghuoquanBusiness
Commits
1c5a00f5
Commit
1c5a00f5
authored
Jun 25, 2021
by
宋永孟
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
add 添加权限管理
parent
d3852bcf
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
67 additions
and
31 deletions
+67
-31
AMap_Location_V5.3.1_20210331.jar
CommonLib/Common/libs/AMap_Location_V5.3.1_20210331.jar
+0
-0
AndroidManifest.xml
CommonLib/Common/src/main/AndroidManifest.xml
+1
-0
FlashActivity.kt
...a/com/yidian/shenghuoquan/newscontent/ui/FlashActivity.kt
+4
-2
SelectAddressActivity.kt
...dian/shenghuoquan/newscontent/ui/SelectAddressActivity.kt
+48
-25
AndroidManifest.xml
app/src/main/AndroidManifest.xml
+14
-4
No files found.
CommonLib/Common/libs/AMap_Location_V5.3.1_20210331.jar
0 → 100644
View file @
1c5a00f5
File added
CommonLib/Common/src/main/AndroidManifest.xml
View file @
1c5a00f5
...
...
@@ -16,4 +16,5 @@
<!--允许程序访问CellID或WiFi热点来获取粗略的位置-->
<uses-permission
android:name=
"android.permission.ACCESS_COARSE_LOCATION"
/>
</manifest>
Components/newscontent/src/main/java/com/yidian/shenghuoquan/newscontent/ui/FlashActivity.kt
View file @
1c5a00f5
package
com.yidian.shenghuoquan.newscontent.ui
import
android.Manifest
import
android.Manifest.permission.ACCESS_BACKGROUND_LOCATION
import
android.content.Intent
import
android.os.Bundle
import
com.orhanobut.hawk.Hawk
...
...
@@ -108,13 +109,14 @@ class FlashActivity : BaseActivity<ActivityFlashBinding>(), IGetLifeAccountListC
Manifest
.
permission
.
WRITE_EXTERNAL_STORAGE
,
Manifest
.
permission
.
READ_EXTERNAL_STORAGE
,
Manifest
.
permission
.
READ_PHONE_STATE
,
ACCESS_BACKGROUND_LOCATION
)
.
subscribe
{
if
(
it
)
{
ToastUtil
.
showToast
(
this
,
"请在设置里同意读取存储卡权限"
)
launcher
(
)
}
else
{
launcher
(
)
ToastUtil
.
showToast
(
this
,
"请在设置里同意读取存储卡权限"
)
}
}
...
...
Components/newscontent/src/main/java/com/yidian/shenghuoquan/newscontent/ui/SelectAddressActivity.kt
View file @
1c5a00f5
package
com.yidian.shenghuoquan.newscontent.ui
import
android.
content.Context
import
android.
location.Location
import
android.os.Bundle
import
android.util.Log
import
android.widget.Toast
import
com.amap.api.maps.AMap
import
com.amap.api.maps.AMap.OnMyLocationChangeListener
import
com.amap.api.maps.MapView
import
com.amap.api.maps.model.
CustomMapStyleOptions
import
com.amap.api.maps.model.
MyLocationStyle
import
com.yidian.common.base.BaseActivity
import
com.yidian.shenghuoquan.newscontent.databinding.ActivitySelectAddressBinding
import
kotlinx.android.synthetic.main.activity_select_address.*
import
java.io.IOException
import
java.io.InputStream
/**
...
...
@@ -18,9 +18,9 @@ import java.io.InputStream
* Date: 2021/6/24 2:10 PM
* Describe:
*/
class
SelectAddressActivity
:
BaseActivity
<
ActivitySelectAddressBinding
>()
{
class
SelectAddressActivity
:
BaseActivity
<
ActivitySelectAddressBinding
>()
,
OnMyLocationChangeListener
{
private
lateinit
var
mapView
:
MapView
private
va
l
mapStyleOptions
=
CustomMapStyleOptions
()
private
va
r
myLocationStyle
:
MyLocationStyle
?
=
null
var
aMap
:
AMap
?
=
null
...
...
@@ -39,9 +39,13 @@ class SelectAddressActivity : BaseActivity<ActivitySelectAddressBinding>() {
if
(
aMap
==
null
)
{
aMap
=
mapView
.
map
setUpMap
()
}
setMapCustomStyleFile
(
this
)
//设置SDK 自带定位消息监听
aMap
!!
.
setOnMyLocationChangeListener
(
this
)
aMap
!!
.
myLocationStyle
=
myLocationStyle
!!
.
myLocationType
(
MyLocationStyle
.
LOCATION_TYPE_LOCATE
)
viewBind
.
selectAddBackBtn
.
setOnClickListener
{
...
...
@@ -67,25 +71,44 @@ class SelectAddressActivity : BaseActivity<ActivitySelectAddressBinding>() {
viewBind
.
map
.
onDestroy
();
}
private
fun
setMapCustomStyleFile
(
context
:
Context
)
{
val
styleName
=
"style.data"
var
inputStream
:
InputStream
?
=
null
try
{
inputStream
=
context
.
assets
.
open
(
styleName
)
val
b
=
ByteArray
(
inputStream
.
available
())
inputStream
.
read
(
b
)
if
(
mapStyleOptions
!=
null
)
{
// 设置自定义样式
mapStyleOptions
.
setStyleData
(
b
)
}
}
catch
(
e
:
IOException
)
{
e
.
printStackTrace
()
}
finally
{
try
{
inputStream
?.
close
()
}
catch
(
e
:
IOException
)
{
e
.
printStackTrace
()
override
fun
onSaveInstanceState
(
outState
:
Bundle
)
{
super
.
onSaveInstanceState
(
outState
)
viewBind
.
map
.
onSaveInstanceState
(
outState
)
}
/**
* 设置一些amap的属性
*/
private
fun
setUpMap
()
{
// 如果要设置定位的默认状态,可以在此处进行设置
myLocationStyle
=
MyLocationStyle
()
aMap
!!
.
myLocationStyle
=
myLocationStyle
aMap
!!
.
uiSettings
.
isMyLocationButtonEnabled
=
true
// 设置默认定位按钮是否显示
aMap
!!
.
isMyLocationEnabled
=
true
// 设置为true表示显示定位层并可触发定位,false表示隐藏定位层并不可触发定位,默认是false
}
override
fun
onMyLocationChange
(
location
:
Location
?)
{
// 定位回调监听
if
(
location
!=
null
)
{
Log
.
e
(
"amap"
,
"onMyLocationChange 定位成功, lat: "
+
location
.
getLatitude
()
+
" lon: "
+
location
.
getLongitude
())
val
bundle
:
Bundle
=
location
.
getExtras
()
if
(
bundle
!=
null
)
{
val
errorCode
=
bundle
.
getInt
(
MyLocationStyle
.
ERROR_CODE
)
val
errorInfo
=
bundle
.
getString
(
MyLocationStyle
.
ERROR_INFO
)
// 定位类型,可能为GPS WIFI等,具体可以参考官网的定位SDK介绍
val
locationType
=
bundle
.
getInt
(
MyLocationStyle
.
LOCATION_TYPE
)
/*
errorCode
errorInfo
locationType
*/
Log
.
e
(
"amap"
,
"定位信息, code: $errorCode errorInfo: $errorInfo locationType: $locationType"
)
}
else
{
Log
.
e
(
"amap"
,
"定位信息, bundle is null "
)
}
}
else
{
Log
.
e
(
"amap"
,
"定位失败"
)
}
}
}
app/src/main/AndroidManifest.xml
View file @
1c5a00f5
...
...
@@ -17,6 +17,13 @@
<uses-permission
android:name=
"android.permission.RECEIVE_BOOT_COMPLETED"
/>
<uses-permission
android:name=
"android.permission.READ_EXTERNAL_STORAGE"
/>
<uses-permission
android:name=
"android.permission.WRITE_EXTERNAL_STORAGE"
/>
<uses-permission
android:name=
"android.permission.ACCESS_BACKGROUND_LOCATION"
/>
<uses-permission
android:name=
"android.permission.ACCESS_COARSE_LOCATION"
></uses-permission>
<uses-permission
android:name=
"android.permission.ACCESS_FINE_LOCATION"
></uses-permission>
<uses-permission
android:name=
"android.permission.CHANGE_WIFI_STATE"
></uses-permission>
<uses-permission
android:name=
"android.permission.ACCESS_LOCATION_EXTRA_COMMANDS"
/>
<uses-permission
android:name=
"android.permission.CHANGE_WIFI_STATE"
/>
<!--用于访问网络,网络定位需要上网-->
<meta-data
android:name=
"design_width_in_dp"
...
...
@@ -41,7 +48,7 @@
<meta-data
android:name=
"com.amap.api.v2.apikey"
android:value=
"
您的key
"
/>
android:value=
"
0b8dd2229f4568b508e51865e402e04a
"
/>
<!-- 以下为友盟分享基本配置信息 start-->
<provider
android:name=
"androidx.core.content.FileProvider"
...
...
@@ -203,6 +210,7 @@
</intent-filter>
</receiver>
<service
android:name=
"com.umeng.message.UmengMessageIntentReceiverService"
android:exported=
"true"
...
...
@@ -237,15 +245,17 @@
</intent-filter>
</service>
<service
android:name=
"com.amap.api.location.APSService"
></service>
<service
android:name=
"com.umeng.message.UmengDownloadResourceService"
android:exported=
"false"
android:permission=
"android.permission.BIND_JOB_SERVICE"
/>
<!--此处注意下包名💊-->
<!-- <provider-->
<!-- android:name="com.umeng.message.provider.MessageProvider"-->
<!-- android:authorities="${application_id}.umeng.message"-->
<!-- <provider-->
<!-- android:name="com.umeng.message.provider.MessageProvider"-->
<!-- android:authorities="${application_id}.umeng.message"-->
<!-- android:exported="false">-->
<!-- <grant-uri-permission android:pathPattern=".*" />-->
<!-- </provider>-->
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment