Commit 0665639d authored by p x's avatar p x
Browse files

1

parent ad0b22a9
Pipeline #3103 failed with stages
in 0 seconds
...@@ -35,15 +35,18 @@ android { ...@@ -35,15 +35,18 @@ android {
} }
} }
dependencies {
dependencies {
// implementation(fileTree(mapOf("dir" to "libs","include" to listOf("*.jar", "*.aar"))))
implementation(libs.androidx.core.ktx) implementation(libs.androidx.core.ktx)
implementation(libs.androidx.appcompat) implementation(libs.androidx.appcompat)
implementation(libs.material) implementation(libs.material)
implementation(libs.androidx.activity) implementation(libs.androidx.activity)
implementation(libs.androidx.constraintlayout) implementation(libs.androidx.constraintlayout)
implementation(project(":maplibrary"))
testImplementation(libs.junit) testImplementation(libs.junit)
androidTestImplementation(libs.androidx.junit) androidTestImplementation(libs.androidx.junit)
androidTestImplementation(libs.androidx.espresso.core) androidTestImplementation(libs.androidx.espresso.core)
implementation(project(":maplibrary"))
} }
\ No newline at end of file
...@@ -12,6 +12,8 @@ ...@@ -12,6 +12,8 @@
android:supportsRtl="true" android:supportsRtl="true"
android:theme="@style/Theme.MapMultiEngine" android:theme="@style/Theme.MapMultiEngine"
tools:targetApi="31"> tools:targetApi="31">
<activity <activity
android:name=".MainActivity" android:name=".MainActivity"
android:exported="true"> android:exported="true">
......
...@@ -5,6 +5,8 @@ import androidx.activity.enableEdgeToEdge ...@@ -5,6 +5,8 @@ import androidx.activity.enableEdgeToEdge
import androidx.appcompat.app.AppCompatActivity import androidx.appcompat.app.AppCompatActivity
import androidx.core.view.ViewCompat import androidx.core.view.ViewCompat
import androidx.core.view.WindowInsetsCompat import androidx.core.view.WindowInsetsCompat
import com.sd.maplibrary.MAP_TYPE
import com.sd.maplibrary.MSDKInitializer
class MainActivity : AppCompatActivity() { class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) { override fun onCreate(savedInstanceState: Bundle?) {
...@@ -16,5 +18,12 @@ class MainActivity : AppCompatActivity() { ...@@ -16,5 +18,12 @@ class MainActivity : AppCompatActivity() {
v.setPadding(systemBars.left, systemBars.top, systemBars.right, systemBars.bottom) v.setPadding(systemBars.left, systemBars.top, systemBars.right, systemBars.bottom)
insets insets
} }
initMap()
}
fun initMap(){
MSDKInitializer.initializeMap(this, MAP_TYPE.AMAP)
} }
} }
\ No newline at end of file
...@@ -32,6 +32,12 @@ android { ...@@ -32,6 +32,12 @@ android {
} }
} }
//repositories {
// flatDir {
// dirs("libs") // aar目录
// }
//}
dependencies { dependencies {
implementation(fileTree(mapOf("dir" to "libs","include" to listOf("*.jar", "*.aar")))) implementation(fileTree(mapOf("dir" to "libs","include" to listOf("*.jar", "*.aar"))))
implementation(libs.androidx.core.ktx) implementation(libs.androidx.core.ktx)
...@@ -40,4 +46,8 @@ dependencies { ...@@ -40,4 +46,8 @@ dependencies {
testImplementation(libs.junit) testImplementation(libs.junit)
androidTestImplementation(libs.androidx.junit) androidTestImplementation(libs.androidx.junit)
androidTestImplementation(libs.androidx.espresso.core) androidTestImplementation(libs.androidx.espresso.core)
// 权限请求框架
implementation("com.guolindev.permissionx:permissionx:1.8.1")
} }
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"> <manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools">
<!-- 打开关闭sdcard的权限 -->
<uses-permission
android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"
tools:ignore="ProtectedPermissions" />
<uses-permission
android:name="android.permission.INTERACT_ACROSS_USERS_FULL"
tools:ignore="ProtectedPermissions" />
<!-- 允许程序打开网络套接字 -->
<uses-permission android:name="android.permission.INTERNET" />
<!-- 允许程序访问网络状态 -->
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<!-- 允许用户改变WiFi连接状态 -->
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
<!-- 程序访问粗略位置 -->
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<!-- 允许用户访问精确位置 -->
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<!-- Android Q 允许后台运行定位 -->
<uses-permission android:name="android.permission.ACCESS_BACKGROUND_LOCATION" />
<!-- 允许程序读取手机状态 -->
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<!-- 打电话的权限 -->
<uses-permission android:name="android.permission.CALL_PHONE" />
<!-- 从SDCard读出数据权限 -->
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<!-- 允许程序写入外部存储设备 -->
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<!-- 允许程序读取所有者数据 -->
<uses-permission android:name="android.permission.READ_OWNER_DATA" />
<!-- 访问WiFi状态,需要WiFi信息用于网络定位 -->
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<!-- 访问网络的变化, 需要某些信息用于网络定位 -->
<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" />
<!-- 8.0 安装未知程序权限 -->
<uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES" />
<application
android:networkSecurityConfig="@xml/network_security_config"
android:supportsRtl="true">
<uses-library
android:name="org.apache.http.legacy"
android:required="false" />
<meta-data
android:name="com.minedata.minenavi.apikey"
android:value="57ac7a0d56494912a0c28e651fa4a40a" />
</application>
</manifest> </manifest>
\ No newline at end of file
package com.sd.maplibrary
import android.Manifest
import android.content.Context
import androidx.fragment.app.Fragment
import androidx.fragment.app.FragmentActivity
import com.minedata.minenavi.SDKInitializer
import com.minedata.minenavi.SDKInitializer.InitListener
import com.minedata.minenavi.mapdal.CoordType
import com.minedata.minenavi.poiquery.SearchUrlType
import com.permissionx.guolindev.PermissionX
import com.sd.maplibrary.utils.ToastHelper
/**AMAP = 高德
* MINE =四维
* ***/
enum class MAP_TYPE {
AMAP,
MINE
}
class UserCtx {
var mContext: Context? = null
companion object {
val instance: UserCtx by lazy { UserCtx() }
}
}
object MSDKInitializer {
fun initializeMap(context: Context, map_type: MAP_TYPE) {
UserCtx.instance.mContext = context
requestPers()
// when (map_type) {
// MAP_TYPE.AMAP -> {
//
// }
// MAP_TYPE.MINE -> {
//
//
// }
// }
// 隐私合规接口
// SDKInitializer.setAgreePrivacy(true)
// if (SDKInitializer.getServerHost().equals("mineservice.minedata.cn")) {
// SDKInitializer.setStyleUrl(
// MineMap.UrlType.basicMap,
// "https://service.minedata.cn/map/solu/style/1359221494104252416"
// )
// }
// 设置地图坐标系
// SDKInitializer.setCoordType(CoordType.GCJ02)
// SDKInitializer.setSearchUrlType(SearchUrlType.v1)
// SDKInitializer.initialize(context, object : InitListener {
// override fun onInitSuccess() {
// }
//
// override fun onInitFailed(msg: String?) {
// }
// })
}
fun requestPers() {
if (UserCtx.instance.mContext is FragmentActivity || UserCtx.instance.mContext is Fragment) {
var list = listOf(
Manifest.permission.ACCESS_COARSE_LOCATION,
Manifest.permission.ACCESS_FINE_LOCATION,
Manifest.permission.WRITE_EXTERNAL_STORAGE,
Manifest.permission.READ_EXTERNAL_STORAGE,
Manifest.permission.READ_PHONE_STATE,
)
PermissionX.init(UserCtx.instance.mContext as FragmentActivity)
.permissions(list)
.onExplainRequestReason { scope, deniedList ->
scope.showRequestReasonDialog(
deniedList,
"Adas 需要同意以下授权才能正常使用",
"好的",
"取消"
)
}
// .onForwardToSettings { scope, deniedList ->
// scope.showForwardToSettingsDialog(deniedList, "您需要手动在‘设置’中允许必要的权限", "OK", "Cancel")
// }
.request { allGranted, grantedList, deniedList ->
if (allGranted) {
} else {
// ToastHelper.showShort(this, "权限被拒")
}
}
} else {
ToastHelper.showShort(UserCtx.instance.mContext!!, "请在正确的地方初始化")
}
}
}
\ No newline at end of file
package com.sd.maplibrary.utils
import android.content.Context
import android.widget.Toast
object ToastHelper {
/**
* 短时间显示Toast
*/
fun showShort(context: Context, message: String) {
Toast.makeText(context, message, Toast.LENGTH_SHORT).run {
show()
}
}
}
<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
<base-config cleartextTrafficPermitted="true" />
<!-- <domain-config cleartextTrafficPermitted="true">-->
<!-- <domain includeSubdomains="true">minedata.cn</domain>-->
<!-- </domain-config>-->
</network-security-config>
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment