Presentation is loading. Please wait.

Presentation is loading. Please wait.

Cosc 5/4730 Permissions. Note that all of start with android.premission. Location: – ACCESS_COARSE_LOCATION, ACCESS_FINE_LOCATION, ACCESS_LOCATION_EXTRA_COMMANDS,

Similar presentations


Presentation on theme: "Cosc 5/4730 Permissions. Note that all of start with android.premission. Location: – ACCESS_COARSE_LOCATION, ACCESS_FINE_LOCATION, ACCESS_LOCATION_EXTRA_COMMANDS,"— Presentation transcript:

1 Cosc 5/4730 Permissions

2 Note that all of start with android.premission. Location: – ACCESS_COARSE_LOCATION, ACCESS_FINE_LOCATION, ACCESS_LOCATION_EXTRA_COMMANDS, ACCESS_MOCK_LOCATION About “cell” Network – ACCESS_NETWORK_STATE, ACCESS_WIFI_STATE, CHANGE_NETWORK_STATE, CHANGE_WIFI_MULITCAST_STATE, CHANGE_WIFI_STATE, INTERNET (needed to use networking) Hardware: – BATTERY_STATS, CALL_PHONE, CAMERA, MODIFY_AUDIO_SETTINGS, NFC, READ_EXTERNAL_STORAGE, WRITE_EXTERNAL_STORAGE, RECEIVE_BOOT_OCMPLETED, RECORD_AUDIO, VIBRATE, WAKE_LOCK (prevent screen from dimming and lock), Varying services – BIND_INPUT_METHOD (InputMethodService), BIND_REMOTEVIEWS (RemoteViewsService), BIND_TEXT_SERVICE (TextService like spellcheckerservice), BIND_VPN_SERVICE (VpnService), BIND_WALLPAPER (WallpaperService) Bluetooth – BLUETOOTH, BLUETOOTH_ADMIN, Accounts: (AccountManager) – GET_ACCOUNTS, MANAGE_ACCOUNTS, USER_CREDENTIALS Text messaging – READ_SMS, RECEIVE_SMS, RECEIVE_MMS, SEND_SMS, WRITE_SMS

3 Permissions (2) User “information”: – READ_CALENDAR, WRITE_CALENDAR, READ_CONTACTS, WRITE_CONTACTS, READ_USER_DICTIONARY, WRTIE_USER_DICTIONARY – READ_HISTORY_BOOKMARKS, WRITE_HISTORY_BOOKMARKS, – READ_SOCIAL_STREAM, SUBSCRIBE_FEEDS_READ, SUBSCRIBE_FEEDS_WRITE, WRITE_SOCAIL_STREAM, – READ_SYNC_SETTINGS, READ_SYNC_STATS, WRITE_SYNC_SETTINGS, – SET_ALARM, USE_SIP, WRITE_SETTINGS (system settings), RECEIVE_WAP_PUSH, SET_TIME_ZONE – SET_WALLPAPER, SET_WALLPAPER_HINTS – READ_PROFILE and WRITE_PROFILE (user’s personal profile data) Phone calls: – READ_PHONE_STATE, READ_CALL_LOG, WRITE_CALL_LOG, PROCESS_OUTGOING_CALLS Running applications (and recent apps too). – GET_TASKS, REORDER_TASKS

4 Other Misc Permissions ADD_VOIC – Added in API level 14, app must have access to a voic server. – Constant Value: "com.android.voic .permission.ADD_VOIC " DISABLE_KEYGUARD, EXPAND_STATUS_BAR FLASHLIGHT, GET_PACKAGE_SIZE KILL_BACKGROUND_PROCESSES – Added in API level 8 – Allows an application to call killBackgroundProcesses(String)

5 Other permissions. I skipped over all the “system” permissions. – Says, “Not for use by third-party applications.” in the documentation. You app must be a system level app, which you can’t do without rooting your phone or becoming a vendor, like say Motorola. – w-to-make-my-application-system w-to-make-my-application-system

6 Calendar Example Once a calendar is connected to the device You can use the following example from google to read/write to the calendar – Uses the Calendar Provider oviders/calendar-provider.html oviders/calendar-provider.html

7 Contacts Example Same with contacts oviders/contacts-provider.html oviders/contacts-provider.html

8 User Dictionary Android use the user dictionary for the example in the “content provider basics” example. oviders/content-provider-basics.html oviders/content-provider-basics.html

9 AccountManager Provides a centralized registry of the user online accounts – Example: Facebook, dropbox, Evernote, etc… – There are some examples of how to use and create your “account” for your online service. account-manager-step-by-step account-manager-step-by-step nts/AccountManager.html nts/AccountManager.html

10 Incoming/outgoing phone calls Detectcalls app in PremissionDemo.zip Uses: PROCESS_OUTGOING_CALLS and READ_PHONE_STATE The example uses two Broadcast Receivers – You can do it in one, but split for the example. – Able to get the phone number and the information. – receivers/process-outgoing-calls/ receivers/process-outgoing-calls/ This example also shows you have to change the incoming phone number! – samples/source/browse/trunk/DetectCalls/?r=37 samples/source/browse/trunk/DetectCalls/?r=37

11 Incoming/outgoing phone calls (2) You can block outgoing phone calls – You use: setResultData(null); – That will stop the outbound call! outgoing-call-in-android outgoing-call-in-android – You can not drop/ignore incoming calls thought. Requires the MODIFY_PHONE_STATE permission, which is a system level permission. incoming-call-in-android incoming-call-in-android incoming-call-android.html incoming-call-android.html

12 Task lists RunningApp in the Demo shows how to get the Running Applications. – It’s pretty simple. – Get the ActivityManager from the service – You can get RunningServices, RunningAppProcesses, RunningTasks, and RecentTasks. My example will list the package name for each one in the list. Reference: how-do-i-check-if-activity-is-running how-do-i-check-if-activity-is-running

13 Reorder Tasks(2) While facebook, use the reorder_tasks permission, I can’t find a single example for it. What I did find an interesting article on how all the activities (tasks) work on the back to front of the stack. – And managing how your activities are launched with the launch modes.

14 WallPaper Get the intance of the wallpaper manager. Then use setBitmap, setResource, or setStream methods to change the wallpaper The example (setwallpaper) is very simple and uses a wallpaper in the resource directory.

15 Read/Write profile In JellyBean (Api 14+) you can have several user profiles. – And we have methods to read and write these profiles. – It’s handled through the Contracts, so you will need at least READ_CONTACTS permission as well and READ_PROFILE and WRITE_PROFILE

16 Read/Write profile The profile is handled with a ContentProvider. So to get the entire profile (I think every profile) you need the following query: Cursor c = getContentResolver().query( ContactsContract.Profile.CONTENT_URI, null, null, null, null);

17 Read profile example The readPofile project reads all the profiles on the device and displays the information to the screen, using the query before. Remember the device must be 14+ to use this one. My example is heavy modified, but based on codelabs.appspot.com/resources/tutorials/conta ctsprovider/ex1.html codelabs.appspot.com/resources/tutorials/conta ctsprovider/ex1.html

18 Q A &


Download ppt "Cosc 5/4730 Permissions. Note that all of start with android.premission. Location: – ACCESS_COARSE_LOCATION, ACCESS_FINE_LOCATION, ACCESS_LOCATION_EXTRA_COMMANDS,"

Similar presentations


Ads by Google