Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.marko.horvat.telephonprobni;
- import android.Manifest;
- import android.content.Intent;
- import android.content.pm.PackageManager;
- import android.net.Uri;
- import android.support.v4.app.ActivityCompat;
- import android.support.v4.content.ContextCompat;
- import android.support.v7.app.AppCompatActivity;
- import android.os.Bundle;
- import android.telephony.SmsManager;
- import android.view.View;
- import android.widget.Button;
- import android.widget.EditText;
- import android.widget.Toast;
- public class MainActivity extends AppCompatActivity {
- private static final String TEL_PREFIX = "tel:";
- private static final int RECEIVE_SMS_PERMISSION = 1;
- private static final int SMS_REQUEST_CODE = 3;
- private static final int REQUEST_CALL = 4;
- private Button bPrepareSms;
- private Button bSendSms;
- private Button bCall;
- private Button bDial;
- private EditText etNumber;
- private EditText etBody;
- private String telBroj;
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_main);
- initWidgets();
- setupListeners();
- checkReceiveSmsPermission();
- }
- private void initWidgets() {
- bCall = findViewById(R.id.bCall);
- bDial = findViewById(R.id.bDial);
- bPrepareSms = findViewById(R.id.bPrepareSms);
- bSendSms = findViewById(R.id.bSendSms);
- etBody = findViewById(R.id.etPoruka);
- etNumber = findViewById(R.id.etBroj);
- }
- private void setupListeners() {
- bCall.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View view) {
- makeCall();
- }
- });
- bDial.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View view) {
- if (hasNumber()) {
- telBroj = TEL_PREFIX + etNumber.getText().toString();
- Intent intent = new Intent(Intent.ACTION_DIAL, Uri.parse(telBroj));
- startActivity(intent);
- }
- }
- });
- bPrepareSms.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View view) {
- if (hasNumber() && hasText()) {
- Intent intent = new Intent(Intent.ACTION_VIEW);
- intent.putExtra("address", etNumber.getText().toString());
- intent.putExtra("sms_body", etBody.getText().toString());
- intent.setType("vnd.android-dir/mms-sms");
- try {
- startActivity(intent);
- } catch (Exception e) {
- Toast.makeText(MainActivity.this, "Aplikaicja ne postoji", Toast.LENGTH_SHORT).show();
- }
- }
- }
- });
- bSendSms.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- SmsManager smsManager = SmsManager.getDefault();
- if (hasNumber() && hasText()) {
- if (ActivityCompat.checkSelfPermission(MainActivity.this, Manifest.permission.SEND_SMS)
- == PackageManager.PERMISSION_GRANTED) {
- smsManager.sendTextMessage(etNumber.getText().toString(), null, etBody.getText().toString(), null, null);
- Toast.makeText(MainActivity.this, "SMS sent", Toast.LENGTH_SHORT).show();
- etNumber.setText("");
- etBody.setText("");
- } else {
- ActivityCompat.requestPermissions(MainActivity.this, new String[]{Manifest.permission.SEND_SMS},
- SMS_REQUEST_CODE);
- }
- }
- }
- });
- }
- private void makeCall() {
- String phoneNumber = TEL_PREFIX + etNumber.getText().toString();
- if (hasNumber()) {
- Intent intent = new Intent(Intent.ACTION_CALL, Uri.parse(phoneNumber));
- if (ContextCompat.checkSelfPermission(MainActivity.this, Manifest.permission.CALL_PHONE)
- != PackageManager.PERMISSION_GRANTED) {
- ActivityCompat.requestPermissions(MainActivity.this,
- new String[]{Manifest.permission.CALL_PHONE}, REQUEST_CALL);
- } else {
- startActivity(intent);
- }
- }
- }
- private boolean checkReceiveSmsPermission() {
- if (ActivityCompat.checkSelfPermission(
- this, Manifest.permission.RECEIVE_SMS) == PackageManager.PERMISSION_GRANTED) {
- return true;
- } else {
- ActivityCompat.requestPermissions(
- this, new String[]{Manifest.permission.RECEIVE_SMS},
- RECEIVE_SMS_PERMISSION);
- return false;
- }
- }
- public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) {
- if (requestCode == REQUEST_CALL) {
- if (grantResults.length >= 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
- makeCall();
- } else {
- Toast.makeText(this, "Permission DENIED", Toast.LENGTH_SHORT).show();
- }
- }
- }
- private boolean hasNumber() {
- if (etNumber.getText().length() == 0) {
- Toast.makeText(this, "Unesite broj telefona", Toast.LENGTH_SHORT).show();
- return false;
- }
- return true;
- }
- private boolean hasText() {
- if (etBody.getText().length() == 0) {
- Toast.makeText(this, "Unesite poruku ", Toast.LENGTH_SHORT).show();
- return false;
- }
- return true;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement