Android getting dynamic permission from third party defined permissions

Hesam

I'm working on a project that tries to send data from Android app to Tizen wear watch. I have a sample app provided by Samsung but this is super old which is based on Eclipse, (R.I.P).

So, I created a sample app and the first step is to get permissions (for Marshmallow OS). These permissions have provided by sample code in Manifest file.

<uses-permission android:name="android.permission.BLUETOOTH" />
    <uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
    <uses-permission android:name="com.samsung.accessory.permission.ACCESSORY_FRAMEWORK" />
    <uses-permission android:name="com.samsung.android.providers.context.permission.WRITE_USE_APP_FEATURE_SURVEY" />
    <uses-permission android:name="com.samsung.WATCH_APP_TYPE.Companion" />
    <uses-permission android:name="com.samsung.wmanager.ENABLE_NOTIFICATION" />

So, I'm trying to get these permissions on App launch.

public class MainActivity extends AppCompatActivity
{
    private static final String TAG = "MainActivity";
    private static final int MY_PERMISSIONS_REQUEST = 101;

    @Override
    protected void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        // Check permissions
        getPermissions();
    }

    public void getPermissions()
    {
        // No explanation needed, we can request the permission.
        ActivityCompat.requestPermissions(this, new String[]{
            Manifest.permission.BLUETOOTH, 
            Manifest.permission.BLUETOOTH_ADMIN, 
            "com.samsung.accessory.permission.ACCESSORY_FRAMEWORK", 
            "com.samsung.android.providers.context.permission.WRITE_USE_APP_FEATURE_SURVEY", 
            "com.samsung.WATCH_APP_TYPE.Companion", 
            "com.samsung.wmanager.ENABLE_NOTIFICATION"}, MY_PERMISSIONS_REQUEST);
    }

    @Override
    public void onRequestPermissionsResult(int requestCode, @NonNull String permissions[], @NonNull int[] grantResults)
    {
        for(int i : grantResults)
        {
            Log.d(TAG, "Result: " + i);
        }

        switch (requestCode)
        {
            case MY_PERMISSIONS_REQUEST:
            {
                // If request is cancelled, the result arrays are empty.
                if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED &&
                        grantResults[1] == PackageManager.PERMISSION_GRANTED &&
                        grantResults[2] == PackageManager.PERMISSION_GRANTED &&
                        grantResults[3] == PackageManager.PERMISSION_GRANTED &&
                        grantResults[4] == PackageManager.PERMISSION_GRANTED &&
                        grantResults[5] == PackageManager.PERMISSION_GRANTED)
                {
                    displayMessage("Permissions granted");
                }
                else
                {
                    displayMessage("Please accept permissions to proceed.");
                    this.finish();
                }
            }
        }
    }

    private void displayMessage(String message)
    {
        if (TextUtils.isEmpty(message))
        {
            return;
        }

        Toast.makeText(this, message, Toast.LENGTH_LONG).show();
    }
}

When I run it, no permission request dialog displays even for Bluetooth and app closes obviously (due to code). I see following result in Log:

D/MainActivity: Result: 0
D/MainActivity: Result: 0
D/MainActivity: Result: -1
D/MainActivity: Result: -1
D/MainActivity: Result: -1
D/MainActivity: Result: -1

For some reasons Android automatically give me Bluetooth permission but have no idea how to get those Samsung permissions.

ianhanniballake

Only specific dangerous permissions are require requesting them at run time. Therefore you should not need to write any permissions related code to be granted any of those permissions.

Collected from the Internet

Please contact [email protected] to delete if infringement.

edited at
0

Comments

0 comments
Login to comment

Related

From Dev

Getting information from a third party Wiki page

From Dev

Android: Find out which third party library is requesting a permission?

From Dev

Is it possible to register android device from third party java server?

From Dev

how to prevent third party program installs from changing browser settings without permission

From Dev

Android AAR third party jars

From Dev

Getting Video path from third party app (e.g. WhatsApp) to my app via content:// URI

From Dev

Android Runtime Permissions (Permission denied)

From Dev

Bring android app in foreground after receiving respose from third party app in xamarin android

From Dev

Enable Third party cookies for Android WebView

From Dev

Android: Open private file with third party app

From Dev

How to release an android SDK with third party dependencies?

From Dev

Android: Open private file with third party app

From Dev

Using third party library in Eclipse for Android

From Dev

How to add third party SDK in android studio

From Dev

Roslyn: get the symbol for a type defined in a third-party library

From Dev

How do I remove unused resources from third-party libraries I’ve included on Android?

From Dev

Android: How to get ID_TOKEN using GoogleAuthUtils from a third-party module?

From Dev

Mapping value objects from third party libraries

From Dev

Override a css value from a third party lib

From Dev

Overiding URL pattern from a third party app

From Dev

Expect a 'Type' from third party library functions

From Dev

Install a binary from a third party package in yocto

From Dev

importing javascript modules from a third party library

From Dev

Post from controller action to third party website

From Dev

Linking both third party precompiled dynamic and static libaries in Windows

From Dev

Linking both third party precompiled dynamic and static libaries in Windows

From Dev

Getting permissions on Android version 7

From Dev

Specify multiple permissions with android:permission on activity

From Dev

Link between Android Permissions and Permission Groups

Related Related

  1. 1

    Getting information from a third party Wiki page

  2. 2

    Android: Find out which third party library is requesting a permission?

  3. 3

    Is it possible to register android device from third party java server?

  4. 4

    how to prevent third party program installs from changing browser settings without permission

  5. 5

    Android AAR third party jars

  6. 6

    Getting Video path from third party app (e.g. WhatsApp) to my app via content:// URI

  7. 7

    Android Runtime Permissions (Permission denied)

  8. 8

    Bring android app in foreground after receiving respose from third party app in xamarin android

  9. 9

    Enable Third party cookies for Android WebView

  10. 10

    Android: Open private file with third party app

  11. 11

    How to release an android SDK with third party dependencies?

  12. 12

    Android: Open private file with third party app

  13. 13

    Using third party library in Eclipse for Android

  14. 14

    How to add third party SDK in android studio

  15. 15

    Roslyn: get the symbol for a type defined in a third-party library

  16. 16

    How do I remove unused resources from third-party libraries I’ve included on Android?

  17. 17

    Android: How to get ID_TOKEN using GoogleAuthUtils from a third-party module?

  18. 18

    Mapping value objects from third party libraries

  19. 19

    Override a css value from a third party lib

  20. 20

    Overiding URL pattern from a third party app

  21. 21

    Expect a 'Type' from third party library functions

  22. 22

    Install a binary from a third party package in yocto

  23. 23

    importing javascript modules from a third party library

  24. 24

    Post from controller action to third party website

  25. 25

    Linking both third party precompiled dynamic and static libaries in Windows

  26. 26

    Linking both third party precompiled dynamic and static libaries in Windows

  27. 27

    Getting permissions on Android version 7

  28. 28

    Specify multiple permissions with android:permission on activity

  29. 29

    Link between Android Permissions and Permission Groups

HotTag

Archive