Created
October 29, 2018 02:37
-
-
Save renatovieiradesouza/331647130be0c68a38c441768d01196d to your computer and use it in GitHub Desktop.
MainActivity.class
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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