Implicit intent to uninstall application?

前端 未结 3 1409
自闭症患者
自闭症患者 2020-12-02 11:25

I am trying to have an onclicklistener call an intent to uninstall an app, by having the intent call the default \"uninstall app\" activity from the applications settings. I

相关标签:
3条回答
  • 2020-12-02 12:13

    Try ACTION_DELETE instead. That's what this example suggests.

    EDIT: I just tested this myself and it worked great.

    0 讨论(0)
  • 2020-12-02 12:17

    First of all, note that the ACTION_UNINSTALL_PACKAGE is only availible to android-14 (i.e. Ice Cream Sandwich, Android 4.0). That said, the following code works for me:

    import android.app.Activity;
    import android.os.Bundle;
    import android.widget.TextView;
    import android.view.View;
    import android.net.Uri;
    import android.content.Intent;
    
    public class TestActivity extends Activity
    {
        /** Called when the activity is first created. */
        @Override
        public void onCreate(Bundle savedInstanceState)
        {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.main);
            TextView view = (TextView)findViewById(R.id.test_view);
            view.setOnClickListener(new View.OnClickListener(){
              public void onClick(View view){
                Uri packageUri = Uri.parse("package:org.klnusbaum.test");
                Intent uninstallIntent =
                  new Intent(Intent.ACTION_UNINSTALL_PACKAGE, packageUri);
                startActivity(uninstallIntent);
              }
            });
        }
    }
    

    If you want to be able to do this on all versions of the android platform, just change the intent from Intent.ACTION_UNINSTALL_PACKAGE to Intent.ACTION_DELETE like @goto10 does.

    0 讨论(0)
  • 2020-12-02 12:23

    In the Api Demos it looks like they are giving the full path to the activty, not just the package itself. This seems weird, because helloactivity activity is not declared in the manifest of that project. So maybe it is just the package path...

    However, set the extra EXTRA_RETURN_RESULT to true in your intent, then start the activity for result and check the result code, maybe it will return a code/extra field in the data intent saying what is the error (Read in the documentation for that)

    0 讨论(0)
提交回复
热议问题