Ի՞նչ է Android-ում սովորական և վտանգավոր թույլտվությունների տարբերությունը։
sobes.tech AI
Պատասխան AI-ից
Android-ում թույլտվությունները բաժանվում են երկու կատեգորիաների՝ սովորական (normal) և վտանգավոր (dangerous):
-
Սովորական թույլտվությունները ավտոմատ տրամադրվում են ծրագրի տեղադրման ժամանակ, առանց օգտագործողի հստակ համաձայնության պահանջելու: Դրանք չեն ներկայացնում զգալի ռիսկ անձնական տվյալների կամ այլ ծրագրերի աշխատանքի համար: Օրինակներ՝ ինտերնետին հասանելիություն, ցանցի վիճակի հասանելիություն, զնգոցային հնարավորություն:
-
Վտանգավոր թույլտվությունները կարող են վտանգել օգտատիրոջ գաղտնիությունը կամ սարքի նորմալ աշխատանքը: Դրանք պետք է հստակ հաստատվեն օգտատիրոջ կողմից ծրագրի գործարկման ժամանակ: Օրինակներ՝ կոնտակտների հասանելիություն, գտնվելու վայրի հասանելիություն, տեսախցիկի հասանելիություն:
Տարբերություններ՝
| Գծագիր | Սովորական թույլտվություններ | Վտանգավոր թույլտվություններ |
|---|---|---|
| Հանձնում | Ավտոմատ տեղադրման ժամանակ | Հարցում է գործարկման ժամանակ |
| Օգտատիրոջ համաձայնություն | Պահանջվում չէ | Պահանջվում է հստակ հաստատում |
| Ռիսկի մակարդակ | Նվազագույն | Բարձր |
| Գաղտնիության ազդեցություն | Մինիմալ | Բարձր |
| API մակարդակ | Հիմնականում հասանելի է API 23+ | Պահանջում է Android 6.0+ մշակում |
Երբ աշխատում եք վտանգավոր թույլտվությունների հետ Flutter-ում, օգտագործվում է permission_handler փաթեթը թույլտվությունների ստուգման և հարցման համար:
import 'package:permission_handler/permission_handler.dart';
// Տեսախցիկի թույլտվության ստուգում
Future<void> checkCameraPermission() async {
var status = await Permission.camera.status;
if (status.isGranted) {
// Թույլտվությունը տրամադրված է
} else if (status.isDenied) {
// Թույլտվությունը մերժված է
// Կարող եք կրկին խնդրել
await requestCameraPermission();
} else if (status.isPermanentlyDenied) {
// Թույլտվությունը մշտապես մերժված է, անհրաժեշտ է օգտատիրողին ուղղել կարգավորումների
openAppSettings();
}
}
// Թույլտվության հարցում
Future<void> requestCameraPermission() async {
var status = await Permission.camera.request();
if (status.isGranted) {
// Թույլտվությունը տրամադրված է
} else {
// Թույլտվությունը մերժված է
}
}