Skip to content

Commit 167fd88

Browse files
authored
updating android 14 permissions (#50)
1 parent a6cecdb commit 167fd88

File tree

2 files changed

+33
-3
lines changed

2 files changed

+33
-3
lines changed

example/android/app/src/main/AndroidManifest.xml

Lines changed: 17 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,13 @@
55
<!-- ADD THIS PERMISSIONS -->
66
<uses-permission android:name="android.permission.WAKE_LOCK"/>
77
<uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
8+
<uses-permission android:name="android.permission.FOREGROUND_SERVICE_DATA_SYNC" />
9+
<uses-permission android:name="android.permission.FOREGROUND_SERVICE_CONNECTED_DEVICE" />
10+
11+
<!-- Needed for Wear communication via Bluetooth -->
12+
<uses-permission android:name="android.permission.BLUETOOTH_CONNECT" />
13+
<uses-permission android:name="android.permission.BLUETOOTH_SCAN" />
14+
<uses-permission android:name="android.permission.BLUETOOTH_ADVERTISE" />
815
<!-- END OF THE CHANGES -->
916

1017
<application
@@ -29,9 +36,17 @@
2936
</activity>
3037

3138
<!-- ADD THIS SERVICE -->
32-
<service android:name="com.wearconnectivity.WearConnectivityTask"
39+
<!-- Before Android 14 -->
40+
<!-- <service android:name="com.wearconnectivity.WearConnectivityTask"
3341
android:permission="android.permission.BIND_JOB_SERVICE"
34-
android:exported="true" />
42+
android:exported="true" /> -->
43+
44+
<!-- Since Android 14 -->
45+
<service
46+
android:name="com.wearconnectivity.WearConnectivityTask"
47+
android:exported="false"
48+
android:foregroundServiceType="dataSync|connectedDevice"
49+
android:permission="android.permission.FOREGROUND_SERVICE_CONNECTED_DEVICE" />
3550
<!-- END OF THE CHANGES -->
3651

3752
</application>

example/src/App.tsx

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,24 @@
11
import React from 'react';
2-
import { Platform } from 'react-native';
2+
import { Platform, PermissionsAndroid } from 'react-native';
33
import { default as CounterScreenAndroid } from './CounterScreen/index.android';
44
import { default as CounterScreenIos } from './CounterScreen/index.ios';
55

6+
async function requestBluetoothPermissions() {
7+
if (Platform.OS === 'android' && Platform.Version >= 31) {
8+
const granted = await PermissionsAndroid.requestMultiple([
9+
PermissionsAndroid.PERMISSIONS.BLUETOOTH_CONNECT,
10+
PermissionsAndroid.PERMISSIONS.BLUETOOTH_SCAN,
11+
]);
12+
13+
console.log('Bluetooth permissions:', granted);
14+
}
15+
}
16+
617
const App = () => {
18+
React.useEffect(() => {
19+
requestBluetoothPermissions();
20+
}, []);
21+
722
const CounterScreen =
823
Platform.OS === 'ios' ? CounterScreenIos : CounterScreenAndroid;
924
return <CounterScreen />;

0 commit comments

Comments
 (0)