2010-08-05 8 views
4

Je crée une application qui peut lancer d'autres applications. Je l'ai bien lancer des applications en utilisant Spinners, cependant, je voudrais également donner à l'utilisateur la possibilité de lancer des appels directs à partir de celui-ci.Ajout de raccourcis de numérotation directe à mon application

Comme c'est le cas maintenant, j'ai des boutons de raccourci que l'utilisateur peut configurer. Actuellement, lorsque l'utilisateur veut configurer l'une de ces «touches de raccourci», j'utilise un spinner pour les laisser choisir parmi toutes les applications installées sur leur téléphone. Pour commencer, j'aimerais bien qu'ils puissent voir à la fois les applications installées et les raccourcis dans le spinner afin qu'ils puissent mapper une ligne directe vers l'une de ces «touches de raccourci». Donc, mes questions principales sont, comment puis-je aller chercher tous les raccourcis définis disponibles et les exécuter et comment pourrais-je créer mes propres numéros directs dans mon application?

Répondre

0

Pour composer un numéro directement

startActivity(new Intent(Intent.ACTION_CALL, Uri.parse("tel:" + NUMBER))); 
0

est ici une fonction simple pour cette

public static void go2Call(Context context, String phoneNo) { 

    Intent intent = null; 
    Uri destUri = null; 
    /* 
    * http://developer.android.com/guide/appendix/g-app-intents.html 
     <uses-permission id="android.permission.CALL_PHONE" /> 
     tel: phone_number 
    */ 

    if(DEBUG)Log.d(TAG, "go2Call ->" + "phoneNo:"+phoneNo); 
    phoneNo = PhoneNumberUtils.convertKeypadLettersToDigits(phoneNo); 
    if(DEBUG)Log.d(TAG, "go2Call ->" + "phoneNo(normalized):"+phoneNo); 


    if (!TextUtils.isEmpty(phoneNo)) { 

     destUri = Uri.parse("tel:" + phoneNo); 
    } 

    if (destUri!=null) { 
     intent = new Intent(Intent.ACTION_VIEW, destUri); 
    } 

     if (intent!=null && isIntentAvailable(context, intent)) { 
      context.startActivity(intent); 
     } 
     else { 
      // TODO: display error msg 
      Log.w(TAG, "error pr intent not available! ->" + "phoneNo:"+phoneNo); 
     } 
    }