AYUDA Mi app se detiene

  • Respuestas:0
Ema Aldaz
  • Posts del Foro: 1

21 oct. 2016 9:39:48 vía Web

Hola a todos, como andan? Espero que bien!
Les cuento que estoy estudiando programación y ya voy por el segundo año; Tambien trabajo para un agente de Claro aqui en Argentina. Me encargo de la venta de carga virtual. El sistema que utilizan es por medio de la marcacion USSD.
Se me ocurrio programar algo pequeño en android. Todo iba bien hasta que me entere de los permisos en Android 6.

La app que habia desarrollado funcionaba bien en otras terminales con sistemas mas antiguos.

Ahora no logro hacerla funcionar. Me podrian ayudar? Dejo mi codigo y el log con los errores..

MainActivity.java

package com.example.easoft.clarovirtual2;

import android.Manifest;
import android.content.Intent;
import android.content.pm.PackageManager;
import android.net.Uri;
import android.os.Build;
import android.os.Build.VERSION;
import android.support.v4.content.ContextCompat;
import android.support.v4.app.ActivityCompat;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.support.annotation.NonNull;
public class MainActivity extends AppCompatActivity {

EditText txtNumeroC = (EditText) findViewById(R.id.editTextNumeroCliente) ;
EditText txtMonto = (EditText) findViewById(R.id.editTextMonto) ;
EditText txtPin = (EditText) findViewById(R.id.editTextPin) ;

String stNumero="" ;
String stMonto="" ;
String stPin="";

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    txtNumeroC.requestFocus();


    Button btnPrincipal = (Button) findViewById(R.id.btnCargar);
    btnPrincipal.setOnClickListener(new View.OnClickListener() {
        public void onClick(View v) {

            version();

        }
    });
}

final int MY_PERMISSIONS_REQUEST_CALL_PHONE = 0;

public void version()
{
    if (VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
        if (ContextCompat.checkSelfPermission(this,
                Manifest.permission.CALL_PHONE)
                != PackageManager.PERMISSION_GRANTED) {
            if (ActivityCompat.shouldShowRequestPermissionRationale(this,
                    Manifest.permission.CALL_PHONE)) {

                callPhone(txtNumeroC, txtMonto, txtPin);


            } else {
                ActivityCompat.requestPermissions(this,
                        new String[]{Manifest.permission.CALL_PHONE},
                        MY_PERMISSIONS_REQUEST_CALL_PHONE);
            }
        }
    }
}


@Override
public void onRequestPermissionsResult(int requestCode,
                                       String permissions[], int[] grantResults) {
    switch (requestCode) {
        case MY_PERMISSIONS_REQUEST_CALL_PHONE: {
            if (grantResults.length > 0
                    && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
                callPhone(txtNumeroC, txtMonto, txtPin);
            } else {
                System.out.println("El usuario ha rechazado el permiso");
            }

        }
    }
}


//SEPARADOR

public void callPhone(EditText Cliente, EditText MontoCargar, EditText Pin) {

    stNumero = Cliente.getText().toString();
    stMonto = MontoCargar.getText().toString();
    stPin = Pin.getText().toString();



    if (ActivityCompat.checkSelfPermission(this, Manifest.permission.CALL_PHONE)== PackageManager.PERMISSION_GRANTED){

        Intent intentLlamada = new Intent(Intent.ACTION_CALL, Uri.parse("tel:*123*1*"+stNumero+"*"+stNumero+"*"+stMonto+"*"+stPin+"*1"+Uri.encode("#")));
        startActivity(intentLlamada);
    }
    Cliente.setText("");
    MontoCargar.setText("");
    Pin.setText("");

}

}

LOG CON ERRORES:

E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.example.easoft.clarovirtual2, PID: 1975
java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.example.easoft.clarovirtual2/com.example.easoft.clarovirtual2.MainActivity}: java.lang.NullPointerException
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2121)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2245)
at android.app.ActivityThread.access$800(ActivityThread.java:135)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1196)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:136)
at android.app.ActivityThread.main(ActivityThread.java:5017)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.NullPointerException
at android.support.v7.app.AppCompatDelegateImplBase.(AppCompatDelegateImplBase.java:116)
at android.support.v7.app.AppCompatDelegateImplV9.(AppCompatDelegateImplV9.java:147)
at android.support.v7.app.AppCompatDelegateImplV11.(AppCompatDelegateImplV11.java:27)
at android.support.v7.app.AppCompatDelegateImplV14.(AppCompatDelegateImplV14.java:50)
at android.support.v7.app.AppCompatDelegate.create(AppCompatDelegate.java:201)
at android.support.v7.app.AppCompatDelegate.create(AppCompatDelegate.java:181)
at android.support.v7.app.AppCompatActivity.getDelegate(AppCompatActivity.java:521)
at android.support.v7.app.AppCompatActivity.findViewById(AppCompatActivity.java:190)
at com.example.easoft.clarovirtual2.MainActivity.(MainActivity.java:19)
at java.lang.Class.newInstanceImpl(Native Method)
at java.lang.Class.newInstance(Class.java:1208)
at android.app.Instrumentation.newActivity(Instrumentation.java:1061)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2112)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2245) 
at android.app.ActivityThread.access$800(ActivityThread.java:135) 
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1196) 
at android.os.Handler.dispatchMessage(Handler.java:102) 
at android.os.Looper.loop(Looper.java:136) 
at android.app.ActivityThread.main(ActivityThread.java:5017) 
at java.lang.reflect.Method.invokeNative(Native Method) 
at java.lang.reflect.Method.invoke(Method.java:515) 
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779) 
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595) 
at dalvik.system.NativeStart.main(Native Method) 
Application terminated.

Desde ya les agradezco su ayuda. Saludos

Contestar