Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
529 views
in Technique[技术] by (71.8m points)

cordova - phonegap build permissions in android

I'm using phonegap build to create my app.

Is there a way I can configure the permissions asked by android?

For now it asks for all the permissions when I actually only need internet, localstorage and notifications.

Please bare in mind - I'm only using phonegap build, Not CLI and not Cordova. I have no AndroidManifest.xml only config.xml

Can anybody help?

Thanks.

Edit:

This was answered by SvenT23.

We both realized that phonegap has removed this answer from their current docs and left it only in the old docs.

For future reference I'm adding the instructions from phonegap in case it will get deleted in the future.

API Features

Currently supported through this interface are the following feature names:

http://api.phonegap.com/1.0/battery
// maps to android:BROADCAST_STICKY permission

http://api.phonegap.com/1.0/camera
// maps to android:CAMERA, winphone:ID_CAP_ISV_CAMERA, and winphone:ID_HW_FRONTCAMERA permissions

http://api.phonegap.com/1.0/contacts
// maps to android:READ_CONTACTS, android:WRITE_CONTACTS, android:GET_ACCOUNTS, and winphone:ID_CAP_CONTACTS permissions

http://api.phonegap.com/1.0/file
// maps to WRITE_EXTERNAL_STORAGE permission

http://api.phonegap.com/1.0/geolocation
// maps to android:ACCESS_COARSE_LOCATION, android:ACCESS_FINE_LOCATION, android:ACCESS_LOCATION_EXTRA_COMMANDS, and winphone:ID_CAP_LOCATION permissions

http://api.phonegap.com/1.0/media
// maps to android:RECORD_AUDIO, android:RECORD_VIDEO, android:MODIFY_AUDIO_SETTINGS, and winphone:ID_CAP_MICROPHONE permissions

http://api.phonegap.com/1.0/network
// maps to android:ACCESS_NETWORK_STATE, and winphone:ID_CAP_NETWORKING permissions

http://api.phonegap.com/1.0/notification
// maps to VIBRATE permission

http://api.phonegap.com/1.0/device
// maps to winphone:ID_CAP_IDENTITY_DEVICE permission

Example Usage

<?xml version="1.0" encoding="UTF-8" ?>
    <widget xmlns   = "http://www.w3.org/ns/widgets"
        xmlns:gap   = "http://phonegap.com/ns/1.0"
        id          = "com.phonegap.example"
        versionCode = "10" 
        version     = "1.0.0" >

    <!-- versionCode is optional and Android only -->

    <name>PhoneGap Example</name>

    <description>
        An example for phonegap build docs. 
    </description>

    <author href="https://build.phonegap.com" email="support@phonegap.com">
        Hardeep Shoker 
    </author>

    <!--
      If you do not want any permissions to be added to your app, add the
      following tag to your config.xml; you will still have the INTERNET
      permission on your app, which PhoneGap requires.
    -->
    <preference name="permissions" value="none"/>

    <!-- to enable individual permissions use the following examples -->
    <feature name="http://api.phonegap.com/1.0/battery"/>
    <feature name="http://api.phonegap.com/1.0/camera"/>
    <feature name="http://api.phonegap.com/1.0/contacts"/>
    <feature name="http://api.phonegap.com/1.0/file"/>
    <feature name="http://api.phonegap.com/1.0/geolocation"/>
    <feature name="http://api.phonegap.com/1.0/media"/>
    <feature name="http://api.phonegap.com/1.0/network"/>
    <feature name="http://api.phonegap.com/1.0/notification"/>
</widget>
See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

A quick bit of googling returns the <feature> element to set permissions. Combined with <preference name="permissions" value="none"/> it should be exactly what you're looking for.

http://docs.phonegap.com/phonegap-build/configuring/#Features


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...