Como iniciar automaticamente o próprio aplicativo Android quando outro aplicativo da minha escolha é lançado
Você pode usar os Serviços para isso. Inicie um serviço que continua a ouvir qualquer operação aberta de outro aplicativo. Quando este aplicativo for aberto, você pode usar este serviço para lançar seu aplicativo. Os serviços normalmente são executados em segundo plano. Uma coisa a notar é que você não pode detectar se um aplicativo foi iniciado ou não, então da maneira como você o faz, o Android mantém uma lista de aplicativos em execução, verifique se essa lista tem o aplicativo que você está procurando. Quando encontrado, você pode lançar o seu aplicativo.
- Look for running apps:
Source: Detect When other Application opened or Launched
- ActivityManager am = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);
- List runningAppProcessInfo = am.getRunningAppProcesses();
- for (int i = 0; i < runningAppProcessInfo.size(); i++) {
- if(runningAppProcessInfo.get(i).processName.equals("com.the.app.you.are.looking.for") {
- // Do you stuff
- }
- }
- Launch your app like this:
Source : Launch an application from another application on Android
- Intent launchIntent = getPackageManager().getLaunchIntentForPackage("com.package.address");
- if (launchIntent != null) {
- startActivity(launchIntent);//null pointer check in case package name was not found
- }