隐式意图卸载应用程序?

我试图让一个onclicklistener调用意图卸载一个应用程序,意图调用应用程序设置的默认“卸载应用程序”活动。 我在这里发现,我可以使用ACTION_UNINSTALL_PACKAGE,com.packageXYXY,这似乎是我正在寻找卸载应用程序。 但是,我不确定如何调用这个。 我已经尝试了以下内容:

public void onClick(DialogInterface dialog, int which) { Uri packageURI = Uri.parse("package:com.packageName"); Intent uninstallIntent = new Intent(Intent.ACTION_UNINSTALL_PACKAGE, packageURI); startActivity(uninstallIntent); 

但语法是错误的。 已经尝试了很多不同的方式来调用这个,并且有点卡住了。 不知道如何调用这个。 谢谢你的帮助。

Solutions Collecting From Web of "隐式意图卸载应用程序?"

首先,请注意,ACTION_UNINSTALL_PACKAGE仅适用于Android-14(即Ice Cream Sandwich,Android 4.0)。 也就是说,下面的代码适用于我:

 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); } }); } } 

如果您希望能够在所有版本的android平台上执行此操作,只需将Intent.ACTION_UNINSTALL_PACKAGE的意图Intent.ACTION_UNINSTALL_PACKAGEIntent.ACTION_DELETE就像@ goto10所做的那样。

试试ACTION_DELETE。 这就是这个例子所暗示的。

编辑:我只是testing这个自己,它工作得很好。

在Api Demos中 ,看起来他们正在为活动提供完整的path,而不仅仅是软件包本身。 这似乎很奇怪,因为helloactivity活动没有在该项目的清单中声明。 所以也许这只是包path…

然而,在你的意图中,额外的EXTRA_RETURN_RESULT设置为true ,然后启动结果的活动并检查结果代码,也许它会返回数据意图中的代码/额外字段,说明错误是什么(在文档中阅读)