mirror of
https://github.com/hackku21/nearby_connections.git
synced 2024-10-27 19:14:01 +00:00
added checkPermission method
This commit is contained in:
parent
59cb4ba91d
commit
6ee7aba035
13
.vscode/launch.json
vendored
Normal file
13
.vscode/launch.json
vendored
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
{
|
||||||
|
// Use IntelliSense to learn about possible attributes.
|
||||||
|
// Hover to view descriptions of existing attributes.
|
||||||
|
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
|
||||||
|
"version": "0.2.0",
|
||||||
|
"configurations": [
|
||||||
|
{
|
||||||
|
"name": "Flutter",
|
||||||
|
"request": "launch",
|
||||||
|
"type": "dart"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
@ -1,5 +1,16 @@
|
|||||||
package com.pkmnapps.nearby_connections;
|
package com.pkmnapps.nearby_connections;
|
||||||
|
|
||||||
|
import android.Manifest;
|
||||||
|
import android.app.Activity;
|
||||||
|
import android.content.Context;
|
||||||
|
import android.content.Intent;
|
||||||
|
import android.content.pm.PackageManager;
|
||||||
|
import android.net.Uri;
|
||||||
|
import android.provider.Settings;
|
||||||
|
import android.support.v4.app.ActivityCompat;
|
||||||
|
import android.support.v4.content.ContextCompat;
|
||||||
|
import android.util.Log;
|
||||||
|
|
||||||
import io.flutter.plugin.common.MethodCall;
|
import io.flutter.plugin.common.MethodCall;
|
||||||
import io.flutter.plugin.common.MethodChannel;
|
import io.flutter.plugin.common.MethodChannel;
|
||||||
import io.flutter.plugin.common.MethodChannel.MethodCallHandler;
|
import io.flutter.plugin.common.MethodChannel.MethodCallHandler;
|
||||||
@ -10,19 +21,35 @@ import io.flutter.plugin.common.PluginRegistry.Registrar;
|
|||||||
* NearbyConnectionsPlugin
|
* NearbyConnectionsPlugin
|
||||||
*/
|
*/
|
||||||
public class NearbyConnectionsPlugin implements MethodCallHandler {
|
public class NearbyConnectionsPlugin implements MethodCallHandler {
|
||||||
|
private Activity activity;
|
||||||
|
|
||||||
|
private NearbyConnectionsPlugin(Activity activity) {
|
||||||
|
this.activity = activity;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Plugin registration.
|
* Plugin registration.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
public static void registerWith(Registrar registrar) {
|
public static void registerWith(Registrar registrar) {
|
||||||
|
|
||||||
final MethodChannel channel = new MethodChannel(registrar.messenger(), "nearby_connections");
|
final MethodChannel channel = new MethodChannel(registrar.messenger(), "nearby_connections");
|
||||||
channel.setMethodCallHandler(new NearbyConnectionsPlugin());
|
channel.setMethodCallHandler(new NearbyConnectionsPlugin(registrar.activity()));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onMethodCall(MethodCall call, Result result) {
|
public void onMethodCall(MethodCall call, Result result) {
|
||||||
|
|
||||||
switch (call.method) {
|
switch (call.method) {
|
||||||
|
case "checkPermissions":
|
||||||
|
if (ContextCompat.checkSelfPermission(activity, Manifest.permission.ACCESS_FINE_LOCATION)
|
||||||
|
!= PackageManager.PERMISSION_GRANTED || ContextCompat.checkSelfPermission(activity, Manifest.permission.ACCESS_COARSE_LOCATION)
|
||||||
|
!= PackageManager.PERMISSION_GRANTED) {
|
||||||
|
result.success(false);
|
||||||
|
} else {
|
||||||
|
result.success(true);
|
||||||
|
}
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
result.notImplemented();
|
result.notImplemented();
|
||||||
}
|
}
|
||||||
|
@ -19,9 +19,44 @@ class _MyAppState extends State<MyApp> {
|
|||||||
appBar: AppBar(
|
appBar: AppBar(
|
||||||
title: const Text('Plugin example app'),
|
title: const Text('Plugin example app'),
|
||||||
),
|
),
|
||||||
body: Center(
|
body: Body(),
|
||||||
child: Text('Welcome'),
|
),
|
||||||
),
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
class Body extends StatefulWidget {
|
||||||
|
@override
|
||||||
|
_MyBodyState createState() => _MyBodyState();
|
||||||
|
}
|
||||||
|
|
||||||
|
class _MyBodyState extends State<Body> {
|
||||||
|
@override
|
||||||
|
Widget build(BuildContext context) {
|
||||||
|
// TODO: implement build
|
||||||
|
return Center(
|
||||||
|
child: Column(
|
||||||
|
children: <Widget>[
|
||||||
|
RaisedButton(
|
||||||
|
child: Text("checkPermission"),
|
||||||
|
onPressed: () async {
|
||||||
|
if (await Nearby.instance.checkPermissions()) {
|
||||||
|
Scaffold.of(context)
|
||||||
|
.showSnackBar(SnackBar(content: Text("yes")));
|
||||||
|
} else {
|
||||||
|
Scaffold.of(context)
|
||||||
|
.showSnackBar(SnackBar(content: Text("No")));
|
||||||
|
}
|
||||||
|
},
|
||||||
|
),
|
||||||
|
RaisedButton(
|
||||||
|
child: Text("askPermission(permission handler)"),
|
||||||
|
onPressed: () async {
|
||||||
|
// await PermissionHandler()
|
||||||
|
// .requestPermissions([PermissionGroup.location]);
|
||||||
|
},
|
||||||
|
),
|
||||||
|
],
|
||||||
),
|
),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
@ -8,7 +8,7 @@ environment:
|
|||||||
dependencies:
|
dependencies:
|
||||||
flutter:
|
flutter:
|
||||||
sdk: flutter
|
sdk: flutter
|
||||||
|
|
||||||
# The following adds the Cupertino Icons font to your application.
|
# The following adds the Cupertino Icons font to your application.
|
||||||
# Use with the CupertinoIcons class for iOS style icons.
|
# Use with the CupertinoIcons class for iOS style icons.
|
||||||
cupertino_icons: ^0.1.2
|
cupertino_icons: ^0.1.2
|
||||||
|
@ -2,9 +2,16 @@ import 'dart:async';
|
|||||||
|
|
||||||
import 'package:flutter/services.dart';
|
import 'package:flutter/services.dart';
|
||||||
|
|
||||||
class NearbyConnections {
|
class Nearby {
|
||||||
|
//for maintaining only 1 instance of this class
|
||||||
|
static final Nearby _instance = Nearby._();
|
||||||
|
static Nearby get instance => _instance;
|
||||||
|
Nearby._();
|
||||||
|
|
||||||
static const MethodChannel _channel =
|
static const MethodChannel _channel =
|
||||||
const MethodChannel('nearby_connections');
|
const MethodChannel('nearby_connections');
|
||||||
|
|
||||||
|
Future<bool> checkPermissions() async => await _channel.invokeMethod(
|
||||||
|
'checkPermissions',
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user