javascript - 钛加速器 : FileUriExposedException - How to use Content Provider?

标签 javascript appcelerator titanium-mobile

我尝试打开本地 pdf,但由于以下异常而无法打开:android.os.FileUriExposedException: file:///storage/emulated/0/appid/1438-938X_2015_07/0.pdf通过 Intent.getData() 暴露在应用程序之外

我认为我需要使用内容提供程序,但是如何在 appcelerator 中获取 content:// 路径?

最佳答案

今天我能够解决我的问题。我不必使用内容提供商。 我使用此代码来创建一个意图:

            Ti.Android.currentActivity.startActivity(Ti.Android.createIntent({
            action: Ti.Android.ACTION_VIEW,
            type: 'application/pdf',
            data: pdfPath
        }));

不,我正在使用此代码:

var intent = Ti.Android.createIntent({
            action : Ti.Android.ACTION_VIEW,
            type : "application/pdf",
            data: pdfPath
        }); 


        var open = Ti.Android.createIntentChooser(intent, L('open_intent'));
        Ti.Android.currentActivity.startActivity(open);

希望这对遇到类似问题的人有所帮助!

关于javascript - 钛加速器 : FileUriExposedException - How to use Content Provider?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45190786/

相关文章:

javascript - jQuery.hover 导致闪烁效果

javascript - 如何在 TableView 的列上设置事件

ios - Titanium 在浏览器窗口中使用完成按钮打开 url

titanium - 如何在 Titanium JS 中创建带有按钮的标题栏?

javascript - Titanium:显示自定义对象 - 变量未定义

android - Titanium Android 标签栏文字颜色

php - 如何重写 URL,使用户看起来好像在他们不在的地方?

javascript - 将hintText替换为预定义列表

javascript - 在 Titanium mobile 中删除 TableViewRow

android - Titanium 无法构建或模拟 Android 应用程序