一般的隐私政策都是用webview去加载一个url呈现。
但后来市场说你的webview在获取设备的android id,不合规。
所以初次加载,用户未同意隐私政策前,就用TextView加载。把url的内容下载下来显示。
但发现小米还是说你的包有问题,说友盟sdk在收集android id,巴拉巴拉一堆。
报告调用栈是这样的:
触发敏感函数:android.app.ApplicationPackageManager.queryIntentActivitiesAsUser
触发进程: 进程PID:21434
函数调用栈:
at android.app.ApplicationPackageManager.queryIntentActivities(ApplicationPackageManager.java:951)
at android.widget.Editor$ProcessTextIntentActionsHandler.loadSupportedActivities(Editor.java:6961)
at android.widget.Editor$ProcessTextIntentActionsHandler.onInitializeMenu(Editor.java:6880)
at android.widget.Editor$TextActionModeCallback.onCreateActionMode(Editor.java:3952)
at com.android.internal.policy.DecorView$ActionModeCallback2Wrapper.onCreateActionMode(DecorView.java:2383)
at com.android.internal.policy.DecorView.startActionMode(DecorView.java:887)
at com.android.internal.policy.DecorView.startActionModeForChild(DecorView.java:843)
at android.view.ViewGroup.startActionModeForChild(ViewGroup.java:985)
at android.view.ViewGroup.startActionModeForChild(ViewGroup.java:985)
at android.view.ViewGroup.startActionModeForChild(ViewGroup.java:985)
at android.view.ViewGroup.startActionModeForChild(ViewGroup.java:985)
at android.view.ViewGroup.startActionModeForChild(ViewGroup.java:985)
at android.view.ViewGroup.startActionModeForChild(ViewGroup.java:985)
at android.view.ViewGroup.startActionModeForChild(ViewGroup.java:985)
at android.view.View.startActionMode(View.java:6796)
at android.widget.Editor.startActionModeInternal(Editor.java:2222)
at android.widget.SelectionActionModeHelper.startActionMode(SelectionActionModeHelper.java:261)
at android.widget.SelectionActionModeHelper.startSelectionActionMode(SelectionActionModeHelper.java:242)
at android.widget.SelectionActionModeHelper.lambda$startSelectionActionModeWithSmartSelectAnimation$0(SelectionActionModeHelper.java:296)
at android.widget.-$$Lambda$SelectionActionModeHelper$xdBRwQcbRdz8duQr0RBo4YKAnOA.run(Unknown Source:4)
at android.widget.SelectionActionModeHelper.startSelectionActionModeWithSmartSelectAnimation(SelectionActionModeHelper.java:304)
at android.widget.SelectionActionModeHelper.lambda$l1f1_V5lw6noQxI_3u11qF753Iw(Unknown Source:0)
at android.widget.-$$Lambda$SelectionActionModeHelper$l1f1_V5lw6noQxI_3u11qF753Iw.accept(Unknown Source:4)
at android.widget.SelectionActionModeHelper$TextClassificationAsyncTask.onPostExecute(SelectionActionModeHelper.java:910)
at android.widget.SelectionActionModeHelper$TextClassificationAsyncTask.onPostExecute(SelectionActionModeHelper.java:864)
at android.os.AsyncTask.finish(AsyncTask.java:695)
at android.os.AsyncTask.access$600(AsyncTask.java:180)
at android.os.AsyncTask$InternalHandler.handleMessage(AsyncTask.java:712)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:193)
at android.app.ActivityThread.main(ActivityThread.java:6718)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)
基本没看到应用代码和sdk代码,全是安卓系统的api。
最后在小米隐私专员那里得到了一丝线索。
他说可能是在隐私政策页面长按文本触发的。
而看这个调用栈,还真有可能是触发了TextView的文本选择反射出来的。
遂把TextView的enable设置成false,再提交。
不得不感叹,国内的玩法真的是没有下线。