2016-07-21 1 views
0

J'ai une application tierce fonctionnant en arrière-plan avec laquelle mon application tente d'établir une interface mais qui a un peu de mal.Envoi d'une intention à une autre application en cours d'exécution

Pour obtenir ce que je veux, leur API me dit simplement d'envoyer le

com.company.name.android.DO_STUFF 

J'ai l'intention essayé de le faire de plusieurs façons, notamment:

intent = getPackageManager().getLaunchIntentForPackage(
     "com.company.name.android.DO_STUFF"); 
if (intent == null) { 
    Toast.makeText(getApplicationContext(), R.string.app_not_found, Toast.LENGTH_SHORT) 
      .show(); 
} else { 
    intent .setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
    startActivity(intent); 
} 

mais est toujours incapable de commencer l'activité et envoyer la tentative. Quand il le fait (sans la capture null), il renvoie une android.content.ActivityNotFoundException.

Toute direction sur la façon d'envoyer cette intention serait très appréciée. Merci à tous

Répondre

0

Il est possible que l'application attend une émission:

Intent intent = new Intent("com.company.name.android.DO_STUFF"); 
sendBroadcast(intent); 
+0

Merci Greg, je l'ai essayé auparavant et par aucune erreur sont produites, il ne semble pas avoir d'effet. Sans accès à l'autre application, est-il possible de voir où la diffusion se déroule? Merci – samuelmadethis

+0

Je ne pense pas. Y a-t-il de la documentation pour cette application tierce? –

+0

Je n'ai pas peur. Seulement été dit par les devs: « Il y a quelques intentions pris en charge par le service de l'entreprise qui peuvent être envoyés par d'autres applications à l'interface avec le service com.company.name.android.DO_STUFF Envoyer cette intention. signalez une pression sur un bouton. " – samuelmadethis