0
点赞
收藏
分享

微信扫一扫

android 出海APP,不获取权限就能获取通讯录联系人 APP列表、定位数据、上传图片



如何绕过Android得主动获取权限, 获取到我们需要得数据

移动端出海上架谷歌市场都知道, 现在金融类得APP是不让拿通讯录权限、文件权限、位置精确权限、无法获取APP所有安装应用列表、获取手机图片并上传

那有没有办法可以拿到,经过查资料和线上APP验证,已经完美解决了相关问题,并在线上得到过验证可行性

1、不获取权限就能获取通讯录联系人的姓名和手机号, 实现方式如下

private var contactLauncher: ActivityResultLauncher<Intent>? = null

调用方式
if (contactLauncher != null) {
    contactLauncher!!.launch(
        Intent(
            Intent.ACTION_PICK,
            ContactsContract.CommonDataKinds.Phone.CONTENT_URI
        )
    )
} else {
   // 如果不能获取,可以让手动输入
}

//获取到得通讯录处理
contactLauncher = registerForActivityResult(
    ActivityResultContracts.StartActivityForResult(),
    activityResultRegistry
) { result ->
    if (result.data == null) {
        return@registerForActivityResult
    }
    val contactUri = result.data?.data
    contactUri?.let {
        contentResolver.query(contactUri, null, null, null, null).use { cursor ->
            if (cursor != null && cursor.moveToFirst()) {
                isCanSelect = true
                var number = ""
                var name = ""
                val numberIndex =
                    cursor.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER)
                val nameIndex =
                    cursor.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME)
                if (numberIndex != -1) {
                    number = cursor.getString(numberIndex)
                }
                if (nameIndex != -1) {
                    name = cursor.getString(nameIndex)
                }
                ...
            } else {
                // 如果不能获取,可以让手动输入
            }
        }
    }
}

2、如何解决安卓11以及以上无法读取第三方应用包名问题

只需要在App得 AndroidManifest.xml 中加入如下代码即可实现获取全部应用列表

<queries>
    <intent>
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.LAUNCHER" />
    </intent>
</queries>

3、如何解决需要APP存储权限问题

一般我们出海金融APP都需OCR拍照之类得功能,拍完照片要存储怎么办, 其实就算没有文件存储权限, 我们可以使用内部存储方式,这种方式是不需要主动申请权限得

还有一类场景就是,我们有时候需要上传支付凭证图片,没有读写权限如何能获取到照片呢,经过我不断得查阅资料和尝试, 发现了一种可以绕过权限获取到图片得方式,线上验证确实可行具体方式需要得话可以联系我

4、如何获取定位信息,缺失率小于5% 现在谷歌不让我们获取精确得位置权限,其实还可以用非精确得位置权限

线上验证确实可行具体方式需要得话可以联系我


举报

相关推荐

0 条评论