Bluetoothデバイスを登録済みか判定する機能を追加
This commit is contained in:
		
							parent
							
								
									c90d0b8f6e
								
							
						
					
					
						commit
						99201fda27
					
				| 
						 | 
					@ -1,4 +1,3 @@
 | 
				
			||||||
<?xml version="1.0" encoding="UTF-8"?>
 | 
					 | 
				
			||||||
<project version="4">
 | 
					<project version="4">
 | 
				
			||||||
  <component name="ExternalStorageConfigurationManager" enabled="true" />
 | 
					  <component name="ExternalStorageConfigurationManager" enabled="true" />
 | 
				
			||||||
  <component name="ProjectRootManager" version="2" languageLevel="JDK_17" default="true" project-jdk-name="jbr-17" project-jdk-type="JavaSDK">
 | 
					  <component name="ProjectRootManager" version="2" languageLevel="JDK_17" default="true" project-jdk-name="jbr-17" project-jdk-type="JavaSDK">
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -174,6 +174,8 @@ public class MainActivity extends AppCompatActivity {
 | 
				
			||||||
            this.flg = false;
 | 
					            this.flg = false;
 | 
				
			||||||
            initNotification(mDocRef);
 | 
					            initNotification(mDocRef);
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    private void initNotification(DocumentReference mDocRef) {
 | 
					    private void initNotification(DocumentReference mDocRef) {
 | 
				
			||||||
| 
						 | 
					@ -289,12 +291,12 @@ public class MainActivity extends AppCompatActivity {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
//    @Override
 | 
					    @Override
 | 
				
			||||||
//    public void onStop() {
 | 
					    public void onStop() {
 | 
				
			||||||
//        super.onStop();
 | 
					        super.onStop();
 | 
				
			||||||
//        Intent intent = new Intent(getApplication(), TestService.class);
 | 
					        Intent intent = new Intent(getApplication(), TestService.class);
 | 
				
			||||||
//        startService(intent);
 | 
					        startService(intent);
 | 
				
			||||||
//    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    //Bluetooth_setupの戻るボタン
 | 
					    //Bluetooth_setupの戻るボタン
 | 
				
			||||||
    public void setupBackButton(boolean enableBackButton) {
 | 
					    public void setupBackButton(boolean enableBackButton) {
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -3,11 +3,15 @@ package com.example.childguard;
 | 
				
			||||||
import android.app.NotificationChannel;
 | 
					import android.app.NotificationChannel;
 | 
				
			||||||
import android.app.NotificationManager;
 | 
					import android.app.NotificationManager;
 | 
				
			||||||
import android.app.Service;
 | 
					import android.app.Service;
 | 
				
			||||||
 | 
					import android.bluetooth.BluetoothDevice;
 | 
				
			||||||
 | 
					import android.content.BroadcastReceiver;
 | 
				
			||||||
import android.content.Context;
 | 
					import android.content.Context;
 | 
				
			||||||
import android.content.Intent;
 | 
					import android.content.Intent;
 | 
				
			||||||
 | 
					import android.content.IntentFilter;
 | 
				
			||||||
import android.content.pm.PackageManager;
 | 
					import android.content.pm.PackageManager;
 | 
				
			||||||
import android.os.IBinder;
 | 
					import android.os.IBinder;
 | 
				
			||||||
import android.os.Vibrator;
 | 
					import android.os.Vibrator;
 | 
				
			||||||
 | 
					import android.preference.PreferenceManager;
 | 
				
			||||||
import android.util.Log;
 | 
					import android.util.Log;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import androidx.annotation.Nullable;
 | 
					import androidx.annotation.Nullable;
 | 
				
			||||||
| 
						 | 
					@ -19,13 +23,63 @@ public class TestService extends Service  {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    public int onStartCommand(Intent intent, int flags, int startId) {
 | 
					    public int onStartCommand(Intent intent, int flags, int startId) {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        //Bluetooth検知機能
 | 
				
			||||||
 | 
					        IntentFilter intentFilter = new IntentFilter();
 | 
				
			||||||
 | 
					        intentFilter.addAction(BluetoothDevice.ACTION_ACL_CONNECTED);
 | 
				
			||||||
 | 
					        intentFilter.addAction(BluetoothDevice.ACTION_ACL_DISCONNECTED);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        audioStart();
 | 
					        if (ActivityCompat.checkSelfPermission(this, android.Manifest.permission.BLUETOOTH_CONNECT) != PackageManager.PERMISSION_GRANTED) {
 | 
				
			||||||
 | 
					            Log.d("BT", "No permission to connect bluetooth devices");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        else {
 | 
				
			||||||
 | 
					            Log.d("BT", "Permission to connect bluetooth devices granted");
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        registerReceiver(receiver, intentFilter);
 | 
				
			||||||
 | 
					        //audioStart();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        return START_NOT_STICKY;
 | 
					        return START_NOT_STICKY;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    private final BroadcastReceiver receiver = new BroadcastReceiver() {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        @Override
 | 
				
			||||||
 | 
					        public void onReceive(Context context, Intent intent) {
 | 
				
			||||||
 | 
					            String action = intent.getAction(); // may need to chain this to a recognizing function
 | 
				
			||||||
 | 
					            BluetoothDevice device = intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE);
 | 
				
			||||||
 | 
					            HomeFragment homeFragment=new HomeFragment();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            if (ActivityCompat.checkSelfPermission(context, android.Manifest.permission.BLUETOOTH_CONNECT) != PackageManager.PERMISSION_GRANTED) {
 | 
				
			||||||
 | 
					                Log.d("BT", "No permission to connect bluetooth devices");
 | 
				
			||||||
 | 
					                return;
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					            String deviceName = device.getName();
 | 
				
			||||||
 | 
					            String deviceHardwareAddress = device.getAddress(); // MAC address
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            if (BluetoothDevice.ACTION_ACL_CONNECTED.equals(action)) {
 | 
				
			||||||
 | 
					                //Do something if connected
 | 
				
			||||||
 | 
					                Log.d("BT", "Device connected");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                String registeredId = PreferenceManager.getDefaultSharedPreferences(getApplicationContext()).getString("bluetooth_device_id", "none");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                Log.d("BT_Judge", "Registered: " + registeredId);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                if (deviceHardwareAddress.equals(registeredId)) {
 | 
				
			||||||
 | 
					                    Log.d("BT_Judge", "登録済み");
 | 
				
			||||||
 | 
					                } else Log.d("BT_Judge", "未登録");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            } else if (BluetoothDevice.ACTION_ACL_DISCONNECTED.equals(action)) {
 | 
				
			||||||
 | 
					                //Do something if disconnected
 | 
				
			||||||
 | 
					                Log.d("BT", "Device disconnected");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					    };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    private void audioStart(){
 | 
					    private void audioStart(){
 | 
				
			||||||
        //↓通知をする際に起動するバイブレーション
 | 
					        //↓通知をする際に起動するバイブレーション
 | 
				
			||||||
        ((Vibrator) getSystemService(Context.VIBRATOR_SERVICE)).vibrate(1000);
 | 
					        ((Vibrator) getSystemService(Context.VIBRATOR_SERVICE)).vibrate(1000);
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue
	
	Block a user