2017-08-13 12 views
0

私はアンインストーラアプリを作るしようとしていると、これは私がアプリをアンインストールするために使用する部分です:ユーザーがアンインストール]ボタンをクリックするとユーザーがIntent.ACTION_DELETEでOKまたはCANCELをクリックしたことを検出する方法はありますか?

Uri uri = Uri.fromParts("package", app.getPackageName(), null); 
Intent intent = new Intent(Intent.ACTION_DELETE, uri); 
startActivity(intent); 

、確認のポップアップダイアログが表示されます。ユーザーがダイアログボックスで[OK]または[キャンセル]をクリックしたかどうかを確認する方法はありますか?

答えて

0

人を気にしないで、私は最終的に解決策を見つけた:代わりにACTION_DELETE、私はACTION_UNINSTALL_PACKAGE(最小API 14)を使用し、これが最終的なコードです:

private void uninstallApps(List<AppModel> apps) { 
    for (AppModel app : apps) { 
     Uri uri = Uri.fromParts("package", app.getPackageName(), null); 
     Intent intent = new Intent(Intent.ACTION_UNINSTALL_PACKAGE, uri); 
     // store result 
     intent.putExtra(Intent.EXTRA_RETURN_RESULT, true); 
     startActivityForResult(intent, 1); 
    } 
} 

@Override 
public void onActivityResult(int requestCode, int resultCode, Intent data) { 
    super.onActivityResult(requestCode, resultCode, data); 
    // get result 
    if(resultCode == RESULT_OK){ 
     Log.d(TAG, "onActivityResult: OK"); 
    }else if (resultCode == RESULT_CANCELED){ 
     Log.d(TAG, "onActivityResult: CANCEL"); 
    } 
} 

私はこれが誰かを助けることを願っています。

関連する問題