【发布时间】:2012-05-30 11:28:09
【问题描述】:
我的应用程序不在 Play 商店中,请在网络上验证是否有新版本并下载并启动它。安装后我想重新启动应用程序,我会使用BroadcastRecevier 和ACTION_PACKAGE_REPLACED。这是代码:
广播:
public void onReceive(Context context, Intent intent) {
if(intent.getAction().equals(Intent.ACTION_PACKAGE_REPLACED)){
ApplicationInfo app = new ApplicationInfo();
if(app.packageName.equals("it.android.downloadapk")){
Intent LaunchIntent = context.getPackageManager().getLaunchIntentForPackage(app.packageName);
context.startActivity(LaunchIntent);
}
}
}
清单:
<receiver android:name="it.android.downloadapk.Broadcast">
<intent-filter>
<action android:name="android.intent.action.ACTION_PACKAGE_REPLACED"></action>
<data android:scheme="package" android:path="it.android.downloadapk" />
</intent-filter>
</receiver>
问题是当我安装新的apk时,Broadcast似乎无法启动,为什么?
【问题讨论】: