mirror of
				https://github.com/hackku21/nearby_connections.git
				synced 2025-06-13 12:53:50 +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]); | ||||||
|  |             }, | ||||||
|  |           ), | ||||||
|  |         ], | ||||||
|       ), |       ), | ||||||
|     ); |     ); | ||||||
|   } |   } | ||||||
|  | |||||||
| @ -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