0

我正在尝试在我的 Android 应用程序上读取 ppt 文件。但每次运行该应用程序时,它都会在 startActivity() 处崩溃。

package com.example.myapplication;

import android.content.Intent;
import android.net.Uri;
import android.support.v4.app.ShareCompat;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;

public class MainActivity extends AppCompatActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    Uri pptUri = Uri.parse("/home/waheed/check.ppt");
    Intent shareIntent = ShareCompat.IntentBuilder.from(this)
            .setText("open ppt")
            .setType("application/vnd.ms-powerpoint")
            .setStream(pptUri )
            .getIntent()
            .setPackage("com.google.android.apps.docs");
    startActivity(shareIntent);
}
}
4

1 回答 1

0

这就是我实现它的方式:

Uri fileURI = FileProvider.getUriForFile(context, "com.test.myapp", fileFromServer);
        Intent intent = new Intent(Intent.ACTION_VIEW); 
        intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
        intent.setDataAndType(fileURI, mimetype);
        intent.setPackage(packageName);

对于包名称,我有这些可能的值,具体取决于文件的扩展名:

  • com.dwgsee.dwgviewer
  • cn.wps.moffice_eng

我必须提到,我的 Android 上某些版本的某些应用程序存在一些问题,我使用 4.2.2 和 4.4.4 Android 版本(我的平板电脑有这些版本),DWG 的某些应用程序在 4.2.2 上打开时没有问题,但是不在 4.4.4 上

于 2018-01-18T16:44:35.147 回答