2012-02-22 8 views
5

Necesito (si es posible) para agregar una capacidad para que mi proyecto se ejecute cuando el usuario ingresa un código como # # en el marcador. No estoy seguro de que sea posible. Actualmente, cuando almorzo mi aplicación desde la carpeta de aplicaciones, comienza, pero solo por diversión, quiero saber si puedo almorzar con un código.Android, ¿es posible ejecutar la aplicación desde el marcador?

Respuesta

6

Puede iniciar la clase de actividad de la aplicación por marcador, pero para eso su aplicación debería ejecutarse en segundo plano. para eso debes implementar una clase que se extienda a BroadcastReceiver. sigue este código de referencia

public class Example extends BroadcastReceiver 
{ 

    @Override 
    public void onReceive(Context context, final Intent intent) { 

     if (intent.getAction().equals(android.intent.action.NEW_OUTGOING_CALL)) { 
     String phoneNumber = intent.getExtras().getString(android.intent.extra.PHONE_NUMBER); 

     if(phoneNumber.equals("#1234#")) { 
      Intent intent1 = new Intent(context , YourActivity.class); 
      intent1.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
      context.startActivity(intent1); 
     } 

     } 

    } 

} 
+0

Lo he usado, pero también intenta hacer una llamada saliente después de que abre mi aplicación. ¿Cómo hacer para que no llame al número marcado? – Jayce

1

La respuesta aceptada por Priyank es correcta. Sólo quería señalar algunas correcciones en el código de la clase Intención

@Override 
public void onReceive(Context context, final Intent intent) { 
    if (intent.getAction().equals(Intent.ACTION_NEW_OUTGOING_CALL)){ 
     String phoneNumber = intent.getExtras().getString(Intent.EXTRA_PHONE_NUMBER); 

     if(phoneNumber.equals("#1234#")){ 
      Intent intent1 = new Intent(context, YourActivity.class); 
      intent1.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
      context.startActivity(intent1); 
     } 

    } 
} 
+0

Lo he usado, pero también intenta hacer una llamada saliente después de que abre mi aplicación. ¿Cómo hacer para que no llame al número marcado? – Jayce

0
@Override 
public void onReceive(Context context, final Intent intent) { 

    if (intent.getAction().equals(Intent.ACTION_NEW_OUTGOING_CALL)) { 
     String phoneNumber = intent.getExtras().getString(Intent.EXTRA_PHONE_NUMBER); 

     if (phoneNumber.equals("#1234#")) { 
      Intent intent1 = new Intent(context, YourActivity.class); 
      intent1.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
      context.startActivity(intent1); 
      setResultData(null); 
     } 

    } 

} 
+0

Bienvenido, no dude en explicar su código. –

0
@Override 
public void onReceive(Context context, final Intent intent) { 
    if (intent.getAction().equals(Intent.ACTION_NEW_OUTGOING_CALL)){ 
     String phoneNumber = intent.getExtras().getString(Intent.EXTRA_PHONE_NUMBER); 

     if(phoneNumber.equals("#1234#")){ 
      Intent intent1 = new Intent(context, YourActivity.class); 
      intent1.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
      context.startActivity(intent1); 
      setResultData(null); 
     } 

    } 
} 
+1

Ha publicado la misma respuesta dos veces, elimine una –

0

soy realmente nuevo. Tengo una duda, donde tengo que poner este código:

public class Example extends BroadcastReceiver 
{  
    @Override 
    public void onReceive(Context context, final Intent intent) { 

     if (intent.getAction().equals(android.intent.action.NEW_OUTGOING_CALL)) { 
     String phoneNumber = intent.getExtras().getString(android.intent.extra.PHONE_NUMBER); 

     if(phoneNumber.equals("#1234#")) { 
      Intent intent1 = new Intent(context , YourActivity.class); 
      intent1.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
      context.startActivity(intent1); 
     } 

     } 

    }  
} 
+0

¡Bienvenido a Stack Overflow! Por favor, tome [tour] (http://stackoverflow.com/tour), eche un vistazo y lea [help center] (http://stackoverflow.com/help), en particular [¿Cómo pregunto? ¿una buena pregunta?] (http://stackoverflow.com/help/how-to-ask) y [¿Qué temas puedo preguntar aquí?] (http://stackoverflow.com/help/on-topic). Desde ese segundo enlace: "Las preguntas que piden ayuda con la tarea deben incluir un resumen del trabajo que ha realizado hasta ahora para resolver el problema y una descripción de la dificultad que está teniendo para resolverlo". También debe proporcionar su pregunta ** como texto **, no como imágenes. –

Cuestiones relacionadas