使用 URI Intent 打开 App 后,以编程方式填写输入并提交 AngularJS 表单

Posted

技术标签:

【中文标题】使用 URI Intent 打开 App 后,以编程方式填写输入并提交 AngularJS 表单【英文标题】:Programatically fill inputs and submit AngularJS form after App is opened with URI Intent 【发布时间】:2019-05-08 10:01:27 【问题描述】:

我有一个 Ionic 1 + AngularJS 应用,带有 cordova,在 android 上运行。

当我用另一个应用程序打开它时,我正在使用这个 cordova 插件 (https://github.com/darryncampbell/darryncampbell-cordova-plugin-intent) 来获取 intent.extras。

我的问题是:在应用被另一个应用打开后,如何填写输入并以编程方式进行 ng-submit?

如果我用 javascript 填写输入,当我手动提交表单时,提交的值是旧的。

window.plugins.intentShim.onIntent(function (intent) 
    console.log('Received Intent: ' + JSON.stringify(intent.extras));
    if (intent.extras)
        document.getElementById('field1').value = intent.extras.field1||"";
        document.getElementById('field2').value = intent.extras.field2||"";
        document.getElementById('field3').value = intent.extras.field3||"A";
        //apply the values on Angular context and submit
    

);

【问题讨论】:

【参考方案1】:

我在角度控制器中使用 document.getElementById('field1').value 来“解决”我的问题,而不是使用角度 ng-model 值来获取输入内容。

【讨论】:

以上是关于使用 URI Intent 打开 App 后,以编程方式填写输入并提交 AngularJS 表单的主要内容,如果未能解决你的问题,请参考以下文章

如何在Android中调用浏览器打开网页

在 App 中显示 PDF 文件

Android:无法打开特定文件夹

android 中的uri到底是啥?

android如何通过path得到uri?

Uri.parse使用本地IP地址