2016-12-17 1 views
-2

Android ManifestMon application se bloque lorsque je tente de récupérer le numéro MIEI ... voici mon code

<uses-permission android:name="android.permission.READ_PHONE_STATE"/> 

MainActivity.java

import android.content.Context; 
    import android.support.v7.app.AppCompatActivity; 
    import android.os.Bundle; 
    import android.telephony.TelephonyManager; 
    import android.view.View; 
    import android.widget.Button; 
    import android.widget.TextView; 

    public class MainActivity extends AppCompatActivity { 

     TextView tv; 
     Button bn; 
     String imei; 

     @Override 
     protected void onCreate(Bundle savedInstanceState) { 
      super.onCreate(savedInstanceState); 
      setContentView(R.layout.activity_main); 
      tv = (TextView)findViewById(R.id.tvimei); 
      bn = (Button)findViewById(R.id.button); 

      TelephonyManager telephonyManager = (TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE); 
      imei = telephonyManager.getDeviceId(); 
      bn.setOnClickListener(new View.OnClickListener() { 
       @Override 
       public void onClick(View view) { 
        tv.setText(imei); 
       } 
      }); 

     } 
    } 

J'étais essayer d'obtenir le numéro imei et l'afficher sur la page d'accueil à des fins de test, mais l'application se bloque dès que je l'exécute sur le téléphone

+4

Salut Ajitesh pouvez-vous envoyer le fichier logcat de l'accident –

Répondre

0

Salut essayez d'ajouter la permission si votre appareil est guimauve vérifier le code ci-dessous également

import android.content.Context; 
import android.support.v7.app.AppCompatActivity; 
import android.os.Bundle; 
import android.telephony.TelephonyManager; 
import android.view.View; 
import android.widget.Button; 
import android.widget.TextView; 

public class MainActivity extends AppCompatActivity { 
    private static final int PERMISSION_REQUEST_CODE = 1; 
    TextView tv; 
    Button bn; 
    String imei; 

    private boolean checkPermission(){ 
    int result = ContextCompat.checkSelfPermission(getApplicationContext(), Manifest.permission.READ_PHONE_STATE); 

    if (result == PackageManager.PERMISSION_GRANTED){ 
     return true; 
    } else { 
     return false; 
    } 
} 
    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 
     tv = (TextView)findViewById(R.id.tvimei); 
     bn = (Button)findViewById(R.id.button); 
     if(checkPermission()){ 
     Snackbar.make(view, "Permission already granted.", Snackbar.LENGTH_LONG).show(); 
     TelephonyManager telephonyManager = (TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE); 
     imei = telephonyManager.getDeviceId(); 
    }else{ 
     Snackbar.make(view,"Please give access to read your phone state.",Snackbar.LENGTH_LONG).show(); 
     requestPermission(); 
    } 

     bn.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View view) { 
       tv.setText(imei); 
      } 
     }); 

    } 

    private void requestPermission() { 
    if (ActivityCompat.shouldShowRequestPermissionRationale(this, Manifest.permission.READ_PHONE_STATE)){ 

     Toast.makeText(getApplicationContext(),"Give permission to check whether internet is of or on.",Toast.LENGTH_LONG).show(); 

    } else { 

     ActivityCompat.requestPermissions(this,new String[]{Manifest.permission.READ_PHONE_STATE},PERMISSION_REQUEST_CODE); 
    } 
} 
@Override 
public void onRequestPermissionsResult(int requestCode, String permissions[], int[] grantResults) { 
    switch (requestCode) { 
     case PERMISSION_REQUEST_CODE: 
      if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) { 

       Snackbar.make(view,"Permission Granted, Now you can check network status.",Snackbar.LENGTH_LONG).show(); 

      } else { 

       Snackbar.make(view,"Permission Denied, You cannot check networkstatus.",Snackbar.LENGTH_LONG).show(); 

      } 
      break; 

    } 
} 
}