1<manifest xmlns:android="http://schemas.android.com/apk/res/android"> 2 3 <!-- The services are reached over a private network. --> 4 <uses-permission android:name="android.permission.INTERNET" /> 5 <uses-permission android:name="android.permission.RECORD_AUDIO" /> 6 <!-- Only so the file picker can hand back a gallery picture on Android 11; nothing is read unprompted. --> 7 <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" android:maxSdkVersion="32" /> 8 <!-- No CAMERA permission on purpose: pictures come from the system camera app 9 through an intent, which needs none. --> 10 <uses-feature android:name="android.hardware.camera" android:required="false" /> 11 <uses-feature android:name="android.hardware.microphone" android:required="false" /> 12 13 <!-- Android 11+ hides other apps from this one unless it asks. Without these two, 14 SpeechRecognizer.isRecognitionAvailable and TextToSpeech both report that nothing 15 is there, even on a phone with Google's recogniser and voice installed. --> 16 <queries> 17 <intent><action android:name="android.speech.RecognitionService" /></intent> 18 <intent><action android:name="android.intent.action.TTS_SERVICE" /></intent> 19 </queries> 20 21 <application 22 android:name=".WhiskersApp" 23 android:allowBackup="false" 24 android:usesCleartextTraffic="true" 25 android:icon="@drawable/ic_launcher" 26 android:label="Whiskers" 27 android:theme="@style/Theme.Whiskers"> 28 <provider 29 android:name="androidx.core.content.FileProvider" 30 android:authorities="${applicationId}.files" 31 android:exported="false" 32 android:grantUriPermissions="true"> 33 <meta-data 34 android:name="android.support.FILE_PROVIDER_PATHS" 35 android:resource="@xml/file_paths" /> 36 </provider> 37 38 <activity 39 android:name=".MainActivity" 40 android:exported="true" 41 android:configChanges="orientation|screenSize|smallestScreenSize|screenLayout|density|uiMode|keyboardHidden|keyboard|navigation|layoutDirection|colorMode|fontScale" 42 android:screenOrientation="fullUser"> 43 <intent-filter> 44 <action android:name="android.intent.action.MAIN" /> 45 <category android:name="android.intent.category.LAUNCHER" /> 46 </intent-filter> 47 </activity> 48 </application> 49</manifest>