1

我需要在 Titan Studio 中调用一个用 android 编写的自定义活动。我应该如何在加速器中运行此代码?

模块代码是这样的:

ChoosePDFActivity cpa = new ChoosePDFActivity();

Intent intent = new Intent(); 
intent.setClassName("com.pdfreader.my", "com.artifex.mupdf.MuPDFActivity");
Activity activity = TiApplication.getAppRootOrCurrentActivity();

activity.startActivity(cpa.showPDF());

Tiapp设置是:

<modules>
   <module platform="android">com.pdfreader.my</module>      
</modules>

和钛代码是:

var sample_module = require('com.pdfreader.my');
sample_module.example()

每当我运行我的代码时什么都没有发生?如果我返回一个字符串,我可以在我的钛金属中显示它,但我无法进行活动,有人可以帮助我吗?谢谢

4

2 回答 2

2

我通过更改我的 Java 代码解决了我的问题:

final File file = new File(path);       

Uri uri = Uri.fromFile(file);
Intent intent = new Intent();
intent.setClassName("com.artifex.mupdf", "com.artifex.mupdf.MuPDFActivity");
intent.setAction(Intent.ACTION_VIEW);
intent.setData(uri);
Activity activity = TiApplication.getAppRootOrCurrentActivity();
activity.startActivity(intent);
于 2013-10-29T05:24:56.480 回答
1

require()用于在内部包含 CommonJS 模块,它不会创建 Intent。

如果您想在您的钛应用程序中创建 Intent,请遵循有关 Android 平台的文档

于 2013-10-29T00:58:13.223 回答