以编程方式更新后,Android 10 APK重新启动

时间:2020-02-11 17:24:25

标签: android installation broadcastreceiver apk packageinstaller

当我的应用通过下载的APK和PackageInstaller进行自我更新时,即使我实现了实际上称为BroadcastReceiver的应用,它也不会重新启动。该应用程序仅关闭并保持关闭状态。

我的广播接收器:

import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.util.Log;


public class LauncherReceiver extends BroadcastReceiver
{
    @Override public void onReceive(Context context, Intent intent)
    {
        Log.e("LauncherReceiver", "Received");
        Log.e("LauncherReceiver", context.getPackageManager().getLaunchIntentForPackage(context.getPackageName()).toString());

        Intent startIntent = context.getPackageManager().getLaunchIntentForPackage(context.getPackageName());
        startIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
        context.startActivity(startIntent);

        Log.e("LauncherReceiver", "Intent started");
    }
}

我收到了所有这三个消息,但该应用程序不会重新启动。程序包管理器返回正确的启动活动。没有错误,没有重启。

有人可以帮我吗?谢谢。

1 个答案:

答案 0 :(得分:0)

您必须在应该在更新后开始的活动中调用onNewIntent(),并在清单中声明接收方。你实现了吗?