마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

어플 목록 불러와서 삭제버튼을 통해 삭제해야되는데 삭제버튼이 안되요..도와주세요 ㅜㅜ

0 추천

어플 목록을 불러와서 삭제해주는 어플을 구현중인데요... 잘안되요 ㅠㅠㅠ

버튼을 누르면 삭제가 되야하는데 안되네요,,ㅠㅠㅠ 

버튼이 각각의 어플 패키지명을 받아야하는데 못받는거같아요..

도와주세요 ㅜㅜ

 

그리고 혹시.. 어플 실행했던 마지막 시간을 받아오는 방법은 없나요.,,? 좀 알려주세요 ㅠㅠ
 
이 부분과

         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> {

 

 };

 

하우누리 (120 포인트) 님이 2013년 10월 28일 질문

답변 달기

· 글에 소스 코드 보기 좋게 넣는 법
· 질문에 대해 추가적인 질문이나 의견이 있으면 답변이 아니라 댓글로 달아주시기 바랍니다.
표시할 이름 (옵션):
개인정보: 당신의 이메일은 이 알림을 보내는데만 사용됩니다.
스팸 차단 검사:
스팸 검사를 다시 받지 않으려면 로그인하거나 혹은 가입 하세요.
...