小编aar*_*gas的帖子

Gsutil 无法在 Google Compute Engine 上的 Dockerfile 中工作

我对 Docker 有点陌生,我正在尝试将资源从我的云存储桶复制到使用 docker 映像创建的实例。我gsutil在我的中使用以下内容Dockerfile

# Install Google Cloud tools - Debian https://cloud.google.com/storage/docs/gsutil_install#deb
ENV CLOUD_SDK_REPO="cloud-sdk-stretch"
RUN echo "deb http://packages.cloud.google.com/apt $CLOUD_SDK_REPO main" | \
    tee -a /etc/apt/sources.list.d/google-cloud-sdk.list && \
    curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | apt-key add - && \
    apt-get update && apt-get install -y google-cloud-sdk

# Setup Google Service Account
COPY service-account.json /etc/
ENV GOOGLE_APPLICATION_CREDENTIALS="/etc/service-account.json"

RUN gcloud auth activate-service-account --key-file=${GOOGLE_APPLICATION_CREDENTIALS}

# Copy the last updated ssl config
RUN gsutil cp -r gs://my-project.appspot.com/docker/etc/letsencrypt /etc/ && \
    gsutil cp -r gs://my-project.appspot.com/docker/etc/apache2/sites-available …
Run Code Online (Sandbox Code Playgroud)

google-cloud-storage google-compute-engine gsutil docker google-container-registry

5
推荐指数
1
解决办法
4510
查看次数

未经READ_CONTACTS权限如何获取Android联系人详细信息

根据https://developer.android.com/guide/components/intents-common#Contacts上的官方文档

您可以使用选择意图

public void selectContact() {
Intent intent = new Intent(Intent.ACTION_PICK);
intent.setType(ContactsContract.Contacts.CONTENT_TYPE);
if (intent.resolveActivity(getPackageManager()) != null) {
    startActivityForResult(intent, REQUEST_SELECT_CONTACT);
}
Run Code Online (Sandbox Code Playgroud)

}

有关在获取联系人URI后如何检索联系人详细信息的信息,请阅读检索联系人的详细信息。记住,当你检索联系人URI与上面的意图,你不会需要READ_CONTACTS权限读取该联系人的详细信息。

它指向https://developer.android.com/training/contacts-provider/retrieve-details以获取联系人的详细信息

当我按照上面链接中的说明进行操作时,我得到

Caused by: java.lang.SecurityException: Permission Denial: reading com.android.providers.contacts.ContactsProvider2 uri content://com.android.contacts/data from pid=5313, uid=10087 requires android.permission.READ_CONTACTS, or grantUriPermission()
Run Code Online (Sandbox Code Playgroud)

我试图通过获取联系方式

  • 加载程序(如链接说明中所述)
  • getContentResolver()。query()
  • 尝试使用lookupKey并获取联系人ID

每一种方式都需要require android.permission.READ_CONTACTS异常。是否有一个示例可以按照文档中的说明工作?

最小,完整和可验证的示例,位于

https://github.com/aaronvargas/ContactsSSCCE

要测试是否使用READ_CONTACTS,必须在“系统应用设置”中进行更改

- 编辑

在Android问题跟踪器上通过https://issuetracker.google.com/issues/118400813创建了问题

android android-contentresolver contactscontract android-contacts android-permissions

4
推荐指数
2
解决办法
810
查看次数