어플 목록을 불러와서 삭제해주는 어플을 구현중인데요... 잘안되요 ㅠㅠㅠ
버튼을 누르면 삭제가 되야하는데 안되네요,,ㅠㅠㅠ
버튼이 각각의 어플 패키지명을 받아야하는데 못받는거같아요..
도와주세요 ㅜㅜ
그리고 혹시.. 어플 실행했던 마지막 시간을 받아오는 방법은 없나요.,,? 좀 알려주세요 ㅠㅠ
이 부분과
Uri packageURI = Uri.fromParts("package", (String) v.getTag() , null);//이부분이문제인듯한데요.....ㅜㅜㅜ
Intent uninstallIntent = new Intent(Intent.ACTION_DELETE, packageURI);
uninstallIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
..
..
..
..
이쪽 부분이 문제인듯 싶은데요,,
addInfo.mAppPackge = app.packageName;
btn.setTag(app.packageName); //이렇게하는거아닌가요...;;
mListData.add(addInfo);
도와주세요 고수님들 ㅠㅠ
private class IAAdapter extends BaseAdapter {
private Context mContext = null;
private List<ApplicationInfo> mAppList = null;
private ArrayList<AppInfo> mListData = new ArrayList<AppInfo>();
OnClickListener appDelete;
public IAAdapter(Context mContext) {
super();
this.mContext = mContext;
}
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder holder;
if (convertView == null) {
holder = new ViewHolder();
LayoutInflater inflater = (LayoutInflater) mContext
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
convertView = inflater.inflate(R.layout.list_item_layout, null);
holder.mIcon = (ImageView) convertView
.findViewById(R.id.app_icon);
holder.mName = (TextView) convertView
.findViewById(R.id.app_name);
holder.mPacakge = (TextView) convertView
.findViewById(R.id.app_package);
btn = (Button)convertView.findViewById(R.id.button1);
btn.setOnClickListener(appDelete);
appDelete = new OnClickListener() {
@Override
public void onClick(View v) {
Uri packageURI = Uri.fromParts("package", (String) v.getTag() , null);//이부분이문제인듯한데요.....ㅜㅜㅜ
Intent uninstallIntent = new Intent(Intent.ACTION_DELETE, packageURI);
uninstallIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(uninstallIntent);
finish();
}
};
convertView.setTag(holder);
} else {
holder = (ViewHolder) convertView.getTag();
}
AppInfo data = mListData.get(position);
if (data.mIcon != null) {
holder.mIcon.setImageDrawable(data.mIcon);
}
holder.mName.setText(data.mAppNaem);
holder.mPacakge.setText(data.mAppPackge);
return convertView;
}
public void rebuild() {
if (mAppList == null) {
Log.d(TAG, "Is Empty Application List");
pm = com.example.applist.AppList.this.getPackageManager();
mAppList = pm
.getInstalledApplications(PackageManager.GET_UNINSTALLED_PACKAGES
| PackageManager.GET_DISABLED_COMPONENTS);
}
AppFilter filter;
switch (MENU_MODE) {
case MENU_DOWNLOAD:
filter = AppInfo.THIRD_PARTY_FILTER;
break;
default:
filter = null;
break;
}
if (filter != null) {
filter.init();
}
mListData.clear();
AppInfo addInfo = null;
ApplicationInfo info = null;
for (ApplicationInfo app : mAppList) {
info = app;
if (filter == null || filter.filterApp(info)) {
addInfo = new AppInfo();
addInfo.mIcon = app.loadIcon(pm);
addInfo.mAppNaem = app.loadLabel(pm).toString();
addInfo.mAppPackge = app.packageName;
btn.setTag(app.packageName); //이렇게하는거아닌가요...;;
mListData.add(addInfo);
}
}
Collections.sort(mListData, AppInfo.ALPHA_COMPARATOR);
}
}
private class AppTask extends AsyncTask<Void, Void, Void> {
};