我正在尝试在我的Hybrid应用程序中使用集成oauth,并且正在与cordova一起使用angularjs 1。我尝试使用此插件 https://github.com/EddyVerbruggen/cordova-plugin-safariviewcontroller以及 https://github.com/EddyVerbruggen/Custom-URL-scheme
但是对于我来说,这并不简单明了。 面临两个问题
下面是尝试的内容。
客户端代码:
if (chatMessages.size() >= 10) {
Query query1 = newRefere.orderByChild("timestamp").limitToFirst(5);
query1.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
for (DataSnapshot ds : dataSnapshot.getChildren()){
ds.getRef().removeValue();
}
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
}
});
谁将调用此handleopenurl函数?
插件中没有hide()关闭chrome自定义标签的方法
var options=[{url:oauthPostURL,hidden:false,animated:false}];
$scope.openUrl = function(options) {
console.log("inside openurl--");
var deferred = $q.defer();
try{
cordova.exec(
// success function
function(response){
deferred.resolve(response);
},
//failure function
function(response){
deferred.resolve(false);
},
"ChromeCustomTabPlugin", "show", options);
}catch(e){
console.log("error in corodva plugin ::"+e);
}
return deferred.promise;
}
function handleOpenURL(url) {
setTimeout(function() {
//SafariViewController.hide();
var data = decodeURIComponent(url.substr(url.indexOf('=')+1));
console.log('Browser data received: ' + data);
}, 0);
}
我使用上述插件中的ChromeCustomTabPlugin.java
请帮助您从2天开始努力。如果有人可以提供端到端的示例,那就太好了
答案 0 :(得分:0)
我自己解决了。 有几个错误。 我手动添加了custom-url-schema插件。
HandleopenUrl函数放置在全局页面中,我放置了 是我的起始页index.html中的函数。
custom-url-plugin中的LaunchMyApp.java文件
launchMyApp.js文件丢失。
<plugin name="cordova-plugin-customurlscheme" spec="^4.3.0">
<variable name="URL_SCHEME" value="" />
<variable name="ANDROID_SCHEME" value="" />
<variable name="ANDROID_HOST" value="" />
<variable name="ANDROID_PATHPREFIX" value="/" />
</plugin>