Android应用程序自动启动

时间:2011-02-02 06:45:02

标签: android

我在android手机中成功使用adb命令安装.APk文件。现在我想在安装时启动应用程序,我的意思是当.apk文件安装在手机中然后运行.Apk文件自动运行。请指导我.. 提前感谢...

3 个答案:

答案 0 :(得分:0)

答案是否定的,你根本做不到。安装完成后,用户应手动启动您的应用程序。

有一种方法 - 首先安装一个应用程序,它将监视apk安装并启动它们。但它需要单独的应用程序。

编辑:这也不再适用于冰淇淋三明治。

答案 1 :(得分:0)

如果apk是您的(由您制作),您可以通过接收系统的BOOT_COMPLETE操作让您的应用程序启动。 希望它对你有用。

答案 2 :(得分:0)

这是可能的。你可以通过报警管理器做到这一点。

在执行命令

之前启动AlarmManager
public void installApp(Context context) {

        Intent receiverIntent = new Intent(context, AlarmReceiver.class);
        PendingIntent pendingIntent = PendingIntent.getBroadcast(
                context.getApplicationContext(), 234324243, receiverIntent, 0);
        AlarmManager alarmManager = (AlarmManager) context.getSystemService(ALARM_SERVICE);
        alarmManager.set(AlarmManager.RTC_WAKEUP, System.currentTimeMillis()
                + 1000 * 10, pendingIntent);

        File file = new File(Shared.getInstance().getApkDirectory());
        if (file.exists()) {
            try {
                final String command = "pm install -r " + file.getAbsolutePath();
                Process proc = Runtime.getRuntime().exec(new String[]{"su", "-c", command});
                Shared.getInstance().showToast(context, "before wait");
                proc.waitFor();


            } catch (Exception e) {
                e.printStackTrace();
            }

        }
    }

在清单

中注册广播收发器
public class AlarmReceiver extends BroadcastReceiver {

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

        Intent i = new Intent(context, yourActivity.class);
        i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
        context.startActivity(i);
    }
}