Android 卸載應用且獲取應用的狀態更新應用列表

Android 卸載應用比較簡單:

packageName 爲你獲取到的app的packageName 這裏就不說了

Uri uri = Uri.parse("package:"+packageName);
        Intent intent = new Intent();
        intent.setAction(Intent.ACTION_DELETE);
        intent.setData(uri);
        startActivity(intent);


如果用startActivityForResult(intent, 1);

在onActivityResult(int requestCode, int resultCode, Intent data)

裏無法返回resusltok 我不知道爲什麼 具體原因不明


那麼最好使用BroadcastReceiver來處理:

        mUninstallReceiver = new UninstallReceiver();
        IntentFilter filter = new IntentFilter(Intent.ACTION_PACKAGE_REMOVED);
        filter.addDataScheme("package");
        this.registerReceiver(mUninstallReceiver, filter);


private class UninstallReceiver extends BroadcastReceiver {
        @Override
        public void onReceive(Context context, Intent intent) {
        if (packageName != null && ("package:" + packageName).equals(intent.getDataString())) {

             這裏可以做一些更新list的操作
            //mListAdapter.notifyDataSetChanged();
            //bindApps();
            //listView.setSelection(currentPosition);
        }
        }
    }



    protected void onDestroy() {
        unregisterReceiver(mUninstallReceiver);
        super.onDestroy();
    }

註銷掉即可


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章