当我的应用通过下载的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");
}
}
我收到了所有这三个消息,但该应用程序不会重新启动。程序包管理器返回正确的启动活动。没有错误,没有重启。
有人可以帮我吗?谢谢。
答案 0 :(得分:0)
您必须在应该在更新后开始的活动中调用onNewIntent()
,并在清单中声明接收方。你实现了吗?