我通过运行ionic platform rm android
清除了我的离子目录,然后用add
命令将其添加回来。
platforms\android\android.json
和platform\android\AndroidManifest.xml
出乎意料地显示
"AndroidManifest.xml": {
"parents": {
"/manifest": [
{
"xml": "<uses-permission android:name=\"android.permission.GET_ACCOUNTS\" />",
"count": 1
}...
]
}
}
和
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
这些来自哪里?
我的config.xml
只有以下内容:
<preference name="webviewbounce" value="false"/>
<preference name="UIWebViewBounce" value="false"/>
<preference name="DisallowOverscroll" value="true"/>
<preference name="android-minSdkVersion" value="19"/>
<preference name="android-targetSdkVersion" value="21"/>
<preference name="BackupWebStorage" value="none"/>
<preference name="SplashScreen" value="screen"/>
<preference name="FadeSplashScreen" value="true"/>
<preference name="ShowSplashScreenSpinner" value="false"/>
<preference name="SplashScreenDelay" value="3000"/>
<preference name="webContentsDebuggingEnabled" value="true"/>
<preference name="AndroidPersistentFileLocation" value="Compatibility"/>
文件package.json
列出了这些插件(插件是否会自动生成某些权限要求?)
"cordovaPlugins": [
"cordova-plugin-device",
"cordova-plugin-console",
"cordova-plugin-whitelist",
"cordova-plugin-splashscreen",
"cordova-plugin-statusbar",
"ionic-plugin-keyboard",
"cordova-plugin-vibration",
"cordova-plugin-dialogs",
{
"locator": "https://github.com/whiteoctober/cordova-plugin-app-version.git",
"id": "cordova-plugin-app-version"
},
{
"locator": "https://github.com/VersoSolutions/CordovaClipboard.git",
"id": "com.verso.cordova.clipboard"
},
"cordova-plugin-email-composer"
],
我使用的是Windows 10 Pro(ionic info
显示Windows 8.1),使用Cordova CLI 6.3.0,Ionic CLI 1.7.16,Node v0.12.7。
答案 0 :(得分:2)
要回答您的问题,这与Ionic框架无关。您已在项目中添加的电子邮件编辑器插件自动添加此权限。这样做是为了访问设备中配置的电子邮件帐户以发送电子邮件。
通过在我的cordova准系统项目中添加电子邮件编辑器插件验证了这一点。它会在<uses-permission android:name="android.permission.GET_ACCOUNTS" />
中添加AndroidManifest.xml
,您也可以通过删除此插件来检查它。希望是有帮助的。
答案 1 :(得分:1)
目前(2017年2月,Cordova 6.5.0) cordova-plugin-email 安装 cordova-plugin-email-composer 添加插件cordova插件添加cordova-plugin-email
如果用Dinesh描述的非cordova-plugin-email替换cordova-plugin-email-composer对你不起作用你应该看看platform / android / android.json你probalby找到以下:
"AndroidManifest.xml": {
"parents": {
"/manifest": [
{
"xml": "<uses-permission android:name=\"android.permission.GET_ACCOUNTS\" />",
"count": 2
}
]
}
}
如果你删除它(并且rund cordova准备)你将不再在清单文件中找到该行。
针对打开电子邮件客户端的应用程序测试了预填充的收件人,主题和正文,gmail在我的Android 4设备上打开正常。