我在android手机中成功使用adb命令安装.APk文件。现在我想在安装时启动应用程序,我的意思是当.apk文件安装在手机中然后运行.Apk文件自动运行。请指导我.. 提前感谢...
答案 0 :(得分:0)
答案是否定的,你根本做不到。安装完成后,用户应手动启动您的应用程序。
有一种方法 - 首先安装一个应用程序,它将监视apk安装并启动它们。但它需要单独的应用程序。
编辑:这也不再适用于冰淇淋三明治。
答案 1 :(得分:0)
如果apk是您的(由您制作),您可以通过接收系统的BOOT_COMPLETE操作让您的应用程序启动。 希望它对你有用。
答案 2 :(得分:0)
这是可能的。你可以通过报警管理器做到这一点。
在执行命令
之前启动AlarmManagerpublic 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);
}
}