public class AppInstallPackage extends
AsyncTask> {
private InstallPackageListener listener;
private Context mcontext;
private PackageManager pm;
public AppInstallPackage() {
super();
}
public AppInstallPackage(InstallPackageListener listener, Context context) {
super();
this.listener = listener;
this.mcontext = context;
pm=mcontext.getPackageManager();
}
@Override
protected void onPreExecute() {
// TODO Auto-generated method stub
super.onPreExecute();
}
@Override
protected List doInBackground(Void... params) {
// TODO Auto-generated method stub
List packinfos = pm.getInstalledPackages(PackageManager.GET_SIGNATURES);
return packinfos;
}
@Override
protected void onPostExecute(List result) {
// TODO Auto-generated method stub
super.onPostExecute(result);
if(listener==null){
return ;
}
if(listener!=null){
listener.Succeed(result);
}else{
listener.Failure();
}
}
public interface InstallPackageListener {
//成功
void Succeed(List result);
//失败
void Failure();
}
}
自定义 AsyncTask,在使用AsyncTask 的时候,将会耗费一定的时间,在使用 task.execute(""),执行的时候使用接口将数据返回void Succeed(List result) 方法得到数据信息!Activity 中implement 接口
方法中“处理接收的信息”。
AsyncTask的使用
最新推荐文章于 2024-05-14 15:16:31 发布