Android permissions for pus notifications. Do I need them all?

I added all of the following permissions but is every single one of them essential? I dont want to have too much. Can I remove 

"android.permission.GET\_ACCOUNTS",

for example? What is it used for in push notifications?

permissions = { { name = ".permission.C2D\_MESSAGE", protectionLevel = "signature" }, }, usesPermissions = { "android.permission.INTERNET", "android.permission.GET\_ACCOUNTS", "android.permission.RECEIVE\_BOOT\_COMPLETED", "com.google.android.c2dm.permission.RECEIVE", ".permission.C2D\_MESSAGE", },

I would suggest that if our engineers say you need a permission, you probably need it.  I suspect the GET_ACCOUNTS is used as part of the Android 4.x multi-account features so that your app can just notifications for the logged in account.

Rob

Based on my testing on Push Notification, I can break them down into 2 segments incase your target is just Android 4.0+

Part 1 : 

  • If missing, devices before Android 4.0 (e.g. Android 2.x, 3.x) will NOT receive the push-notification ID from google

    permissions = { { name = “.permission.C2D_MESSAGE”, protectionLevel = “signature” }, },

Part 2 :

  • Without these, nothing works.

    usesPermissions = { “android.permission.INTERNET”, “android.permission.GET_ACCOUNTS”, “android.permission.RECEIVE_BOOT_COMPLETED”, “com.google.android.c2dm.permission.RECEIVE”, “.permission.C2D_MESSAGE”, },

I would suggest that if our engineers say you need a permission, you probably need it.  I suspect the GET_ACCOUNTS is used as part of the Android 4.x multi-account features so that your app can just notifications for the logged in account.

Rob

Based on my testing on Push Notification, I can break them down into 2 segments incase your target is just Android 4.0+

Part 1 : 

  • If missing, devices before Android 4.0 (e.g. Android 2.x, 3.x) will NOT receive the push-notification ID from google

    permissions = { { name = “.permission.C2D_MESSAGE”, protectionLevel = “signature” }, },

Part 2 :

  • Without these, nothing works.

    usesPermissions = { “android.permission.INTERNET”, “android.permission.GET_ACCOUNTS”, “android.permission.RECEIVE_BOOT_COMPLETED”, “com.google.android.c2dm.permission.RECEIVE”, “.permission.C2D_MESSAGE”, },