2011-10-31 2 views
-1

Bonjour à tous Je crée un programme Android dans lequel je dois passer un appel à partir d'une liste de numéros dans un tableau. Selon le bouton, il sélectionnera le tableau approprié. Je peux faire le cadran de téléphone mais ma force de programme se ferme. C'est mauvais parce que j'ai besoin d'une boîte de dialogue pour apparaître ensuite (dont j'ai terminé la partie mais sans le dire) que j'incrémente à l'intérieur de la méthode pour la boîte de dialogue, je peux la poster si vous l'avez. Voici ce que j'ai:Android Force Fermer après avoir initié la numérotation d'un programme

public class ServiceReceiver extends BroadcastReceiver { 
    public void onReceive(Context context, Intent intent) { 
    MyPhoneStateListener phoneListener=new MyPhoneStateListener(); 
    TelephonyManager telephony = (TelephonyManager) 
    context.getSystemService(Context.TELEPHONY_SERVICE); 
    telephony.listen(phoneListener,PhoneStateListener.LISTEN_CALL_STATE); 
    } 
} 
public class MyPhoneStateListener extends PhoneStateListener { 
    public void onCallStateChanged(int state,String incomingNumber){ 
     boolean mCall=false; 
    switch(state){ 
    case TelephonyManager.CALL_STATE_IDLE: 
     Log.d("DEBUG", "IDLE"); 
     if(mCall) 
     { 
     mCall=false; //Reverting the flag, indicating you are aware that there was call 
     // Here do the rest of your operation you want 
     showAlert(); 
     } 
    break; 
    case TelephonyManager.CALL_STATE_OFFHOOK: 
     Log.d("DEBUG", "OFFHOOK"); 
     mCall=true; 
    break; 
    case TelephonyManager.CALL_STATE_RINGING: 
     Log.d("DEBUG", "RINGING"); 
     mCall=true; 
    break; 
    } 
    } 
} 
public void showAlert(){ 
     new AlertDialog.Builder(this) 
     .setTitle("Was This Call Sucessful?") 
     .setMessage("Did you get through and is help on the way?") 
     .setPositiveButton("Yes", new DialogInterface.OnClickListener() { 
      public void onClick(DialogInterface dialog, int which) { 
       Log.d("AlertDialog", "Positive"); 
       startActivity(new Intent("first.Package.HaitiDisasterPhoneAppActivity")); 
      } }) 
     .setNegativeButton("No", new DialogInterface.OnClickListener() { 
      public void onClick(DialogInterface dialog, int which) { 
       Log.d("AlertDialog","Negative"); 
       i++; 
       sequence(); 
      } }) 
     .show(); 
     } 

J'ai pris le code que vous avez donné et remplacé celui que j'avais dans le manifeste auparavant. Je peux le poster encore si vous pensez que cela aiderait!

+3

Vous devez inclure, au minimum, la décharge de la pile qui accompagne votre proximité de force. Vous devez également inclure le code pertinent auquel il se réfère. Sans au moins ce niveau d'information, au lieu de poster sur stackoverflow, vous pourriez envisager de poster sur crystalball. – mah

+0

J'essaie d'utiliser l'application ARCA pour obtenir mon crash dans une feuille de calcul sur mes google docs, y at-il un moyen qui serait mieux pour vous? – smithseanp16

Répondre

0

Je parie que votre manifeste a cette <receiver android:name="first.Package.localactivity">

Mais il ne fait existe pas. Vous avez peut-être épelé quelque chose de mal.

Le problème est que vous avez et l'activité <activity android:name=".localactivity" et un récepteur de diffusion <receiver android:name=".localactivity"> avec le même nom. La balise android:name est utilisée pour identifier le fichier java contenant le récepteur de diffusion.

Suivez this tutorial


Pour votre autre question dans les commentaires refer to this

+0

Hey Reno est le récepteur je: smithseanp16

+0

Cela semble correct, est-ce que c'est dans la balise 'application'? – Reno

+0

C'est Il est. J'apprécie vraiment votre aide, je suis littéralement perdu. Y a-t-il quelque chose que je puisse vous montrer? – smithseanp16