java调用时*startActivity*我的程序未运行
在我的项目中,我使用listview(设备中安装的程序列表),在listview中,我为每一行设置了按钮。当用户单击按钮时,我想删除程序。现在在arrayadapter(自定义列表)中,我有(button.setOnClickListener)当用户单击按钮时,我的未安装代码必须运行,请帮助我
我的应用程序类:
public class UninstallApp extends ArrayAdapter<String>{
public BlackListAdapter(Context context,int layoutResourceId, ArrayList<String> appsName,
ArrayList<String> appsPackageName,ArrayList<Drawable> appsIcon) {
super(context, layoutResourceId, appsName);
。。。 . . . }
@Override
public View getView(final int position, View convertView, final ViewGroup parent) {
LayoutInflater inflater = (LayoutInflater) context
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
btnDell.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Uri packageUri =Uri.parse("package:com.mk88.rootdetection");
Intent uninstallIntent =
new Intent(Intent.ACTION_UNINSTALL_PACKAGE, packageUri);
// where runing startactivity ?????
//startActivity(uninstallIntent);
}
});
return rowView;
}
}
}
但当点击按钮时,我的程序停止了。请帮帮我。tnx
# 1 楼答案
永远不要实例化活动类
你有
而
UninstallApp
是一个活动类Can i Create the object of a activity in other class?
活动在清单中声明,并具有生命周期
可以将
UninstallApp
设为实用类(普通java类)。如果需要上下文,可以将其传递给类的构造函数并使用上下文startActivity
是活动类的一种方法# 2 楼答案
我认为卸载应用程序不需要其他活动。此外,您不应该实例化活动。在主活动或
Utility
类中使用以下代码希望有帮助