Some features of the Android API can only be accessed with the user’s permission, which are granted in the usual way (by displaying the permissions before the user chooses whether to download and install the app). The requested permissions must be declared in the app’s AndroidManifest.xml.
Similarly, the Dolphin Add-on API defines some additional permissions that protect sensitive features of the browser. As with standard Android permissions, the Dolphin permissions must be declared in the AndroidManifest.xml file.
These Dolphin API permissions are organized into two levels – normal and advanced – as shown in the table below. The normal permissions are automatically granted to any Add-on that has a valid “normal” API key. Similarly, the advanced permissions are automatically granted only to Add-ons that have the “advanced” API key. Advanced API keys are made available to MoboTap business partners and some other developers on request. To request an advanced key, send email to email@example.com.
This table lists the defined Dolphin API permissions for the two levels.
|com.dolphin.browser.permission.ACCESS_WEB_PAGES||Normal API key|
|com.dolphin.browser.permission.MANAGE_DOWNLOADS||Normal API key|
|com.dolphin.browser.permission.MANAGE_TABS||Normal API key|
|com.dolphin.browser.permission.READ_BOOKMARKS||Normal API key|
|com.dolphin.browser.permission.READ_HISTORY||Normal API key|
|com.dolphin.browser.permission.WRITE_BOOKMARKS||Normal API key|
|com.dolphin.browser.permission.WRITE_HISTORY||Normal API key|
|com.dolphin.browser.permission.HANDLE_HTTP_AUTH_REQUEST||Advanced API key|
|com.dolphin.browser.permission.MODIFY_WEB_SETTINGS||Advanced API key|
|com.dolphin.browser.permission.TITLE_BAR_ACTION||Advanced API key|
|com.dolphin.browser.permission.ADDON_BAR_BADGE||Advanced API key|
The XML below demonstrates the syntax for permission requests in AndroidManifest.xml.
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.android.app.myapp" > <uses-permission android:name= "com.dolphin.browser.permission.ACCESS_WEB_PAGES" /> ... </manifest>