当我的应用通过下载的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");
}
}
我收到所有这三条消息,但应用程序不会重新启动。包管理器返回正确的启动活动。没有错误,没有重新启动。
谁能帮帮我?谢谢。
您必须在更新后应该启动的活动中调用onNewIntent()
,并在清单中声明接收器。你做到了吗?