Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.example.ralh1.permisos;
- import android.Manifest;
- import android.annotation.SuppressLint;
- import android.annotation.TargetApi;
- import android.app.Activity;
- import android.content.Intent;
- import android.content.pm.PackageManager;
- import android.net.Uri;
- import android.os.Build;
- import android.os.Bundle;
- import android.support.annotation.NonNull;
- import android.support.annotation.RequiresApi;
- import android.support.v4.app.ActivityCompat;
- import android.view.View;
- import android.widget.EditText;
- import android.widget.ImageButton;
- import android.widget.Toast;
- public class MainActivity extends Activity {
- ImageButton tel, bing;
- EditText fone, pag;
- private final static int PHONE_CALL_CODE = 100;
- @SuppressLint("WrongViewCast")
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_main);
- tel = (ImageButton) findViewById(R.id.btntel);
- bing = (ImageButton) findViewById(R.id.btnbing);
- fone = (EditText) findViewById(R.id.edtfone);
- pag = (EditText) findViewById(R.id.edtweb);
- tel.setOnClickListener(new View.OnClickListener() {
- @TargetApi(Build.VERSION_CODES.M)
- @RequiresApi(api = Build.VERSION_CODES.M)
- @Override
- public void onClick(View v) {
- String strPhone = fone.getText().toString();
- String arrPermissions = (Manifest.permission.CALL_PHONE);
- if(!strPhone.isEmpty()){
- if(Build.VERSION.SDK_INT>= Build.VERSION_CODES.M){
- requestPermissions(new String[]{arrPermissions},PHONE_CALL_CODE);
- }
- else{
- OlderVersion(strPhone);
- }
- }
- }
- @android.support.annotation.RequiresApi(api = Build.VERSION_CODES.M)
- private void OlderVersion(String strPhone) {
- Intent intent = new Intent(Intent.ACTION_CALL, Uri.parse("Tell:" + strPhone));
- if (CheckPermissions(Manifest.permission.CALL_PHONE)) {
- if(checkSelfPermission(Manifest.permission.CALL_PHONE)!= PackageManager.PERMISSION_GRANTED){return;}
- }
- startActivity(intent);
- }
- });
- bing.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- String strUrl = pag.getText().toString();
- if(!strUrl.isEmpty()){
- Intent intent = new Intent (Intent.ACTION_VIEW, Uri.parse("http://"+strUrl));
- startActivity(intent);
- }
- }
- });
- }
- private boolean CheckPermissions(String permission){
- int result = this.checkCallingOrSelfPermission(permission);
- return result == PackageManager.PERMISSION_GRANTED;
- }
- @Override
- public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
- super.onRequestPermissionsResult(requestCode, permissions, grantResults);
- switch(requestCode){
- case PHONE_CALL_CODE:
- if (permissions[0].equals((Manifest.permission.CALL_PHONE))) {
- if (grantResults[0] == PackageManager.PERMISSION_GRANTED) ;
- Intent intent = new Intent(Intent.ACTION_CALL, Uri.parse("tel:" + fone.getText().toString()));
- if (ActivityCompat.checkSelfPermission(this, Manifest.permission.CALL_PHONE) != PackageManager.PERMISSION_GRANTED)
- return;
- startActivity(intent);
- }else{
- Toast.makeText(MainActivity.this,"Denegaste el permiso",Toast.LENGTH_SHORT).show();
- }
- break;
- default:
- super.onRequestPermissionsResult(requestCode,permissions,grantResults);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement