如何使用钛模块运行本机android活动?

时间:2013-10-27 06:02:24

标签: android android-activity module titanium appcelerator

我需要在Chrome 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()

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

2 个答案:

答案 0 :(得分: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);

答案 1 :(得分:1)

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

如果您想在钛应用程序中创建Intent,请按documentation about Android platform