我已成功配置iOS应用程序来处理音频文档类型(不是深层链接!)所以我可以使用共享对话框在我的应用程序中打开音频文件,这样可以正常工作。
我已经在intent-filter
中成功配置了Android AndroidManifest.xml
以同样的方式处理音频文件,Android系统也认可这一点,当我在audiofiles上使用共享菜单时,我会看到我的应用。但是,Linking
组件的Android实现似乎忽略了SEND
意图操作,并且只关注View
IntentModule.java:55
所见的 if (Intent.ACTION_VIEW.equals(action) && uri != null) {
initialURL = uri.toString();
}
意图操作:
MainActivity.java
我尝试在我的VIEW
中修补意图,使其返回与@Override
public Intent getIntent() {
Intent origIntent = super.getIntent();
if (origIntent != null && Intent.ACTION_SEND.equals(origIntent.getAction())) {
return new Intent(Intent.ACTION_VIEW, origIntent.getData());
}
return origIntent;
}
动作相同的uri,但这总是在运行时产生错误。
getData
但是我总是得到一个错误,表明ClipData
为空。
我看到了this answer,但是对我来说,分享续订对我来说太过分了。
答案 0 :(得分:0)
我发现Intent可能包含名为Uri
的其他信息,其中也可能包含Uri
。我的运气是我只有一个Uri
(我想它可以包含多个@Override
public Intent getIntent() {
Intent origIntent = super.getIntent();
if (origIntent != null && Intent.ACTION_SEND.equals(origIntent.getAction())) {
return new Intent(Intent.ACTION_VIEW, this.uriFromClipData(origIntent.getClipData()));
}
return origIntent;
}
private Uri uriFromClipData(ClipData clip) {
if (clip != null && clip.getItemCount() > 0) {
return clip.getItemAt(0).getUri();
}
return null;
}
对象,如果我一次共享多个音频文件。所以这段代码有效,我现在可以共享文件以反应原生应用
echo get_the_time('', $recent["ID"]);