「画像変更」ボタンがあり、カメラロールを使用して画像を変更したい。
しかし、カメラロールを使用する権限がないという警告が表示されます。
許可が与えられているかどうかを確認するにはどうすればよいですか?そうでない場合は許可を求めたいと思います。
これは今のところ私のコードです:
_pickImage = async () => {
let result = await ImagePicker.launchImageLibraryAsync({
allowsEditing: true,
aspect: [4, 3],
});
console.log(result);
if (!result.cancelled) {
this.setState({ image: result.uri });
}
};
これは非常にばかげた質問かもしれませんが、私はここで少し混乱しています...
さらに情報が必要な場合はコメントしてください。
ありがとう!
Expoを使用している場合は、ExpoからPermission
を取得できます。彼らのドキュメントに従ってください、それは素晴らしいです!
次のようになります。
import { Permissions } from 'expo';
async componentDidMount() {
const permission = await Permissions.getAsync(Permissions.CAMERA_ROLL);
if (permission.status !== 'granted') {
const newPermission = await Permissions.askAsync(Permissions.CAMERA_ROLL);
if (newPermission.status === 'granted') {
//its granted.
}
} else {
....your code
}
}
リンク先 Expo
私はいくつかの新しいコードで編集しました。 askAsync
を完全に使用することもできます。ドキュメントはとても役に立ちます!
Permissionsは非推奨になり、MediaLibraryリンク
Expo-cliを最新バージョンに更新してみてください
npm install -g expo-cli
エキスポSDKバージョンも
expo update "version-number"