如何解决此问题“无法在运行时权限之前触发默认处理程序提示”

问题描述

今天,我收到了来自Google小组的邮件,我的应用发布状态:已拒绝。

无法在运行时权限之前触发认处理程序提示 *如果您的应用是认处理程序,则认处理程序提示必须在运行时权限提示之前。

根据我们的评论,您的应用似乎无法在运行时权限提示之前正确触发认处理程序提示。请在任何运行时权限提示之前添加认处理程序提示。*

请帮助解决此问题,我也使用了认处理程序提示,但不知道Google为什么向我发送此邮件

解决方法

您需要显式提示默认处理程序,而不是简单地在清单中声明权限。

<<!DOCTYPE html>
<html>
  <head>
    <meta charset='utf-8'>
    <title></title>
    <link rel='stylesheet' href='main.css'>
  </head>
  <body>
    <header>
      The Note Machine
      
    </header>
    <main>
      <div class="headers">
        <div id="list-head">
          <b>Your Notes</b> <i>(click to edit/delete)</i>
        </div>
        <div id="note-head">
          <b>Your Notepad</b>
          <span id="edit-mode" class="no-display">
            <i> (edit mode) </i>
          </span>
        </div>
      </div>
      <noteList>
        <div id='listed'>
        </div>
      </noteList>
      <notepad>
        <div id="note-title">
          <input id="title-field" type="text" placeholder="title your note">
        </div>
        <div id="note-body">
          <textarea id="body-field"></textarea>
        </div>
      </notepad>
    </main>
    <footer>
      <button id="btn-save">Save</button>
      <button id="btn-delete">Delete / Clear </button>
    </footer>
  </body>
  <script type='text/javascript' src='https://ajax.googleapis.com/ajax/libs/jquery/2.2.4/jquery.min.js'></script>
  <script type='text/javascript' src='Code.js'></script>
</html>

用于更改默认处理程序:

RoleManager roleManager = (RoleManager) 
activity.getSystemService(Context.ROLE_SERVICE);
Intent intent = roleManager.createRequestRoleIntent(RoleManager.ROLE_DIALER);
activity.startActivityForResult(intent,requestCode);

从Google的Android文档中可以找到有关Play Store policy的信息。

给出应用在访问过程中访问的敏感用户信息 充当默认处理程序,您的应用无法成为默认处理程序 除非符合以下Play商店清单和核心 功能要求:

您的应用必须能够执行其功能 默认处理程序。例如,默认的SMS处理程序应该能够 发送短信。

您的应用必须提供隐私权政策。

您的应用必须在Play商店中明确其核心功能 描述。

例如,默认的电话处理程序应描述其与电话相关的 描述中的功能。

您的应用必须声明适合其使用的权限 案件。有关您可以声明为哪个权限的更多详细信息 给定的处理程序,请参阅有关使用SMS或呼叫日志权限的指南 组在Play控制台帮助中心中。

您的应用必须先请求成为默认处理程序,然后才能请求 与成为该处理程序相关的权限。例如,一个应用 必须先请求成为默认的SMS处理程序,然后才能请求 READ_SMS权限。