有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java安装选定的apk:为什么它不工作?

我创建此代码是为了显示手机文件夹中的文件。现在,我的意图是,单击文件夹中的其中一个文件(apk文件)即可安装所选的apk。这是密码

 private List<String> fileList = new ArrayList<String>();
 ApplicationInfo ai;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        File root = new File(Environment.getExternalStorageDirectory().toString()+File.separator+"MyFolder");
        ListDir(root);

    }

    @SuppressWarnings("deprecation")
    protected void onListItemClick(ListView l, View v, int position, long id){ 
        super.onListItemClick(l, v, position, id);
        String appPos = fileList.get(position);

        Uri packageUri = Uri.parse("package:"+getApplicationContext().getPackageName());
        Intent installIntent = new Intent(Intent.ACTION_VIEW, packageUri);

        try {

        startActivity(installIntent);
        }
        catch (ActivityNotFoundException ex) {
            final AlertDialog alertDialog1 = new AlertDialog.Builder(RestoreApp.this).create();
            alertDialog1.setTitle("Error");
            alertDialog1.setMessage("Unable open the selected activity");
            alertDialog1.setButton("OK", new DialogInterface.OnClickListener() {

                public void onClick(DialogInterface dialog, int which) {
                    alertDialog1.dismiss();
               }
            });
             alertDialog1.show();
        }
        }


    void ListDir(File f){
     File[] files = f.listFiles();
     fileList.clear();
     for (File file : files){
     fileList.add(file.getName());

     }

     ArrayAdapter<String> directoryList
     = new ArrayAdapter<String>(this,
       安卓.R.layout.simple_list_item_1, fileList);
     setListAdapter(directoryList);
    }

}

当我点击一个项目时,显示对话框,这意味着进入ActivityNotFoundException。为什么?如何修复


共 (1) 个答案

  1. # 1 楼答案

    在super之后的onCreate方法中使用setContentView()。onCreate(),应该可以解决此问题