Как запустить приложение после его установки?
Мой код устанавливает apk из папки загрузок, используя pm install
(Корень). Проблема в том, что после установки приложения мне нужно автоматически запустить установленное приложение. Как я могу это сделать?
File sdCard = Environment.getExternalStorageDirectory();
String fileStr = sdCard.getAbsolutePath() + "/download";// +
// "app-release.apk";
File file = new File(fileStr, "xadb-build.apk");
if (file.exists()) {
try {
String command;
command = "pm install -r " + file;
Process proc = Runtime.getRuntime().exec(
new String[] { "su", "-c", command });
proc.waitFor();
} catch (Exception e) {
e.printStackTrace();
}
}
}
1 ответ
Вы можете зарегистрировать широковещательный приемник для действия PACKAGE_INSTALLED, в этом приемнике вы можете написать логику для запуска активности запуска этого приложения.
public class InstallReceiver extends BroadcastReceiver {
public InstallReceiver()
{
}
@Override
public void onReceive(Context context, Intent intent) {
Log.d("InstallReceiver", "Install detected.");
String packageName = intent.getPackage();
if ("your_app_packageName".equalsIgnoreCase(packageName)) {
try {
Intent i = ctx.getPackageManager().getLaunchIntentForPackage(packageName);
i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
ctx.startActivity(i);
} catch (NameNotFoundException e) {
// TODO Auto-generated catch block
}
}
}
}