我想使用接收器进行自动更新。如何在Android中设置Receiver?
点击时,使用URI获取下载。
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(strUrl));
startActivity(intent);
而我想要的是运行由intent自动下载的apk。
现在,我必须在下载后再点击apk文件。但我想自动下载 - 运行新的Apk - 删除apk文件。
所以我试图使用接收器,但我不知道如何使用它。
1,我在清单中加入了这个。
<receiver android:name=".common.PackageReceiver" >
<intent-filter>
<action android:name="android.intent.action.PACKAGE_ADDED" />
<action android:name="android.intent.action.PACKAGE_REMOVED" />
<action android:name="android.intent.action.PACKAGE_REPLACED" />
<action android:name="android.intent.action.DOWNLOAD_COMPLETE" />
<data android:scheme="package" />
</intent-filter>
</receiver>
2,我做新课。
package com.ezcaretech.ecf.common;
public class PackageReceiver extends BroadcastReceiver {
public static final String DOWNLOAD_COMPLETE = "android.intent.action.DOWNLOAD_COMPLETE";
@Override
public void onReceive(Context context, Intent intent) {
String packageName = intent.getData().getSchemeSpecificPart();
String action = intent.getAction();
if (action.equals(DownloadManager.ACTION_DOWNLOAD_COMPLETE)) {
Log.d("TAG", "DOWNLOAD COMPLETE");
}
}
}
但是,下载后,接收器不再工作。
感谢
它可以帮助你检查 –
发表您的下载管理器代码 –
你有PackageReceiver.DOWNLOAD_COMPLETE和DownloadManager.ACTION_DOWNLOAD_COMPLETE,你使用哪一个? – HendraWD