Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save renatovieiradesouza/331647130be0c68a38c441768d01196d to your computer and use it in GitHub Desktop.
Save renatovieiradesouza/331647130be0c68a38c441768d01196d to your computer and use it in GitHub Desktop.
MainActivity.class
package br.com.sentinelacriativa.bluetooth_estudo;
import android.Manifest;
import android.content.Context;
import android.content.Intent;
import android.content.pm.PackageManager;
import android.support.annotation.NonNull;
import android.support.v4.app.ActivityCompat;
import android.support.v4.content.ContextCompat;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;
import java.util.ArrayList;
import java.util.List;
public class MainActivity extends AppCompatActivity implements View.OnClickListener{
//Button
protected Button mBtnVerificarBluetooth,mBtnPareados,mBtnBuscarDispositivos;
//Permissão Bluetooth localização
private final int PERMISSAO_LOCALIZAR_BLUETOOTH = 1;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//mBtnVerificarBluetooth
mBtnVerificarBluetooth = (Button) findViewById(R.id.btnVerificar);
mBtnVerificarBluetooth.setOnClickListener(this);
//mBtnPareados
mBtnPareados = (Button) findViewById(R.id.btnPareados);
mBtnPareados.setOnClickListener(this);
//mBtnBuscarDispositivos
mBtnBuscarDispositivos = (Button) findViewById(R.id.btnBuscarDispositivos);
mBtnBuscarDispositivos.setOnClickListener(this);
checaPermissaoBluetooth();
}
private boolean checaPermissaoBluetooth(){
//Assume que todas estão liberadas
boolean retorno = true;
//Lista para trabalhar com multiplas permissoes
List<String> listaDEPermissoesNecessarias = new ArrayList<>();
int permissaoLocalizarBluetooth = ContextCompat.checkSelfPermission(this,Manifest.permission.ACCESS_COARSE_LOCATION);
//Verifica se a permissao ACCESS_COARSE_LOCATION é negada e adiciona na lista para solicitar liberação
if(permissaoLocalizarBluetooth != PackageManager.PERMISSION_GRANTED){
listaDEPermissoesNecessarias.add(Manifest.permission.ACCESS_COARSE_LOCATION); //Adiciona a permissão na lista
}
//Verifica a lista para verificar necessidade de solicitar permissão ao usuario
if(!listaDEPermissoesNecessarias.isEmpty()){
ActivityCompat.requestPermissions(this,listaDEPermissoesNecessarias.toArray(
new String[listaDEPermissoesNecessarias.size()]),
PERMISSAO_LOCALIZAR_BLUETOOTH);
retorno = false;
}
return retorno;
}
//Apenas para pegar o retorno da permissão e aletar usuario caso não tenha a permissão liberada
@Override
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
switch (requestCode){
case PERMISSAO_LOCALIZAR_BLUETOOTH:{
//Verifica se a permissão foi liberada
if(grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_DENIED){
//Apresenta tela de permissão
if(ContextCompat.checkSelfPermission(this,Manifest.permission.ACCESS_COARSE_LOCATION) == PackageManager.PERMISSION_DENIED){
Toast.makeText(this, "Sem permissão para utilizar o recurso de localização de Bleutooth.", Toast.LENGTH_LONG).show();
}
}
}
}
}
//Listeners de botoes da class
@Override
public void onClick(View view) {
switch (view.getId()){
case R.id.btnVerificar:
Intent intentVerificaBluetooth = new Intent(MainActivity.this,BluetoothCheckActivity.class);
startActivity(intentVerificaBluetooth);
break;
case R.id.btnPareados:
Intent intentPareados = new Intent(this, ListaPareadosActivity.class);
startActivity(intentPareados);
break;
case R.id.btnBuscarDispositivos:
Intent intentBuscarDispositivos = new Intent(this, ListaDispositivosActivity.class);
startActivity(intentBuscarDispositivos);
break;
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment