android.permission.ACCESS_NETWORK_STATE android.permission.ACCESS_WIFI_STATE android.permission.INTERNET

android.permission.ACCESS_NETWORK_STATE
android.permission.ACCESS_WIFI_STATE
android.permission.INTERNET

I have put an app on Amazon but people have said they don't download it because it requires these permissions. I thought it was something Amazon added but I was told it's built into the App in Inventor is there anyway of getting rid of them?
I don't need them as my app just uses inputs from the user to calculate some numbers and then output them.

It depends on what your app does.

User inputs numbers and presses calculate and the answer is displayed.

What components and extensions do you use?

user Inputs and no extensions

Can you post your aia?

did that work
Comparator_Free_v1_0.aia (67.6 KB)

This is the standard androidmanifest file that is generated when building an empty apk

<?xml version="1.0" encoding="utf-8" standalone="no"?><manifest xmlns:android="http://schemas.android.com/apk/res/android" android:compileSdkVersion="29" android:compileSdkVersionCodename="10" package="appinventor.ai_pmathijssen.leeg" platformBuildVersionCode="29" platformBuildVersionName="10">
    <uses-permission android:name="android.permission.INTERNET"/>
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
    <application android:debuggable="false" android:icon="@mipmap/ic_launcher" android:label="leeg" android:name="com.google.appinventor.components.runtime.multidex.MultiDexApplication" android:networkSecurityConfig="@xml/network_security_config" android:requestLegacyExternalStorage="true" android:roundIcon="@mipmap/ic_launcher" android:theme="@style/AppTheme">
        <uses-library android:name="org.apache.http.legacy" android:required="false"/>
        <activity android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|screenSize|smallestScreenSize" android:name=".Screen1" android:windowSoftInputMode="stateHidden">
            <intent-filter>
                <action android:name="android.intent.action.MAIN"/>
                <category android:name="android.intent.category.LAUNCHER"/>
            </intent-filter>
        </activity>
        <provider android:authorities="appinventor.ai_pmathijssen.leeg.provider" android:exported="false" android:grantUriPermissions="true" android:name="androidx.core.content.FileProvider">
            <meta-data android:name="android.support.FILE_PROVIDER_PATHS" android:resource="@xml/provider_paths"/>
        </provider>
    </application>
</manifest>

so is there some way of getting rid of the permissions?

Or disabling them so they don't ask for it when installing. they are not needed as in a modern android they can be disabled and it still works.

You could use APK editor studio to edit your apk and manually remove them. I don't know if you have to have them in an apk but you could try.

2 Likes

This is an empty apk where i removed the permissions. Maybe you can try and install the apk and see if it will run.

https://drive.google.com/file/d/1EiVrwHBgguGCxYzLePEKN-Xz-0tY2alG/view?usp=sharing

2 Likes

On my phone the app opens without a problem.

2 Likes

Thanks I will give that a go, if it doesn't work is there a way i can use the .permissiongranted block and somehow ungrant it?

1 Like

On older phones it does say under permissions, full network access, view network connections and view wi-fi connections on some versions I've gone in and disabled them and on android 9 it doesn't show them?

No, because the .PermissionGranted event is only triggered if a dangerous permission is requested.
So just remove the permissions from the Manifest.
That should work (as long as your app doesn't need internet).

Yes, these permissions are only displayed on devices that do not request runtime permissions (i.e. on devices with Android < 6, API 23). These permission are asked and granted at install-time on devices with Android < 6 (API 23),

1 Like

OK thanks for that

does that mean on Android 9 it has those permissions on and that I just don't know?

Yes, these permissions are granted on all Android versions, because they are not dangerous. So on Android versions ≥ 23 you will not be asked to grant these permissions and thus you don't notice it.

2 Likes