在工作中遇到这么一个问题,要在android系统中实现音视频聊天,用android SDK来做的话会很麻烦,考虑用Flex 实现音视频功能,然后主程序(java APK)调用Flex APK实现音视频聊天功能。这就牵扯到两种不同开发工具做出来的APK互相调用的问题。解决方法如下:
在Flex APK的配置文件中,<intent-filter>部分加入一个android:scheme, 比如 :<data android:scheme="FLVURI"/>
然后可以在JAVA APK中这样调用:
protected void call(String flvUrl)
{
String url = "FLVURI://?url=http://www.sina.com.cn&type=play&view=apkView";
Uri uri = Uri.parse(url);
Intent _intent = new Intent(Intent.ACTION_VIEW, uri);
activity.startActivity(_intent);
}
在 Flex APK中接收传过来的参数:
<?xml version="1.0" encoding="utf-8"?>
<s:View xmlns:fx="http://ns.adobe.com/mxml/2009"
initialize="init();"
removing="view1_removingHandler(event)"
xmlns:s="library://ns.adobe.com/flex/spark"
title="FlexAPK">
<fx:Declarations>
<!-- 将非可视元素(例如服务、值对象)放在此处 -->
</fx:Declarations>
<fx:Script>
<![CDATA[
import flash.desktop.NativeApplication;
import flash.events.Event;
import mx.utils.URLUtil;
import spark.events.ViewNavigatorEvent;
public function init():void
{
NativeApplication.nativeApplication.addEventListener(InvokeEvent.INVOKE, doInvokeEvent);
}
public function doInvokeEvent(event:InvokeEvent):void
{
trace("args="+event.arguments.toString());
}
protected function view1_removingHandler(event:ViewNavigatorEvent):void
{
NativeApplication.nativeApplication.removeEventListener(InvokeEvent.INVOKE, doInvokeEvent);
}
]]>
</fx:Script>
</s:View>
这样就得到了所需要的参数。在FLEX APK中,可以根据接收到的参数的不同,跳转到不同的View:
this.navigator.pushView(views.apkPlayer);
接收参数时有个问题,那就是event.arguments本来是一个array,但这个array的length总是一,传递过来的整个url都放在
event.arguments[0]中,如果需要将各个参数分拆开来,必须自己写代码实现,很是麻烦。不知道有没有其它更好的办法。
public function doInvokeEvent(event:InvokeEvent):void
{
trace("args="+event.arguments.toString());
}
分享到:
相关推荐
JavaApk源码说明.rar,太多无法一一验证是否可用,程序如果跑不起来需要自调,部分代码功能进行参考学习。
android两个APK相互调用并传参数 很简单,很详细,有案例源码,源码有很详细的注解,希望大家能够用得上
java解析apk文件,获取apk包名,项目名,版本号,图标等等 mac,linux,windows都可用 mac,linux 使用aapt工具 windows使用aapt.exe
java通过上传文件的方式,根据文件APK来获取应用apk的包名,版本号等信息。全部封闭成名,操作起来非常的方便,如有疑问可以在下面留言!
Roy计算器.apk 除加减乘除外,还支持开方运算、幂运算、取模运算 1、开方运算 先输入数字,再点“√” 2、幂运算 输入底数,点击“^”,输入幂数 3、取模运算 A mod B 先输入A,点击“模”,输入B 已知bug: 某些...
Smali2JavaUI apk反编译神器 Smali2JavaUI Smali2Java apk apktool 反编译 逆向工程 工具
Java解析apk/ipa读取包名、版本名、版本号等等信息源码,自己总结,希望对大家有所帮助。
1、Apk反编译得到Java源代码 下载上述反编译工具包,打开apk2java目录下的dex2jar-0.0.9.9文件夹,内含apk反编译成java源码工具,以及源码查看工具。 步骤:首先将apk文件后缀改为zip并解压,得到其中的classes....
对apk文件进行反编译,可以得到apk中的xml,java源码以及其他资源文件。apk转jar,apk转java,class转java
Java解析apk所需jar包 Java解析apk所需jar包 Java解析apk所需jar包
unity调用安卓方法实现apk文件的安装。亲测支持安卓7,8,9。附有安卓源码在MyApplication目录下面。请用unity2018.2.13以上版本打开。直接在unity打包安卓即可测试。如果出现打包失败的报错可能是你把项目解压到了...
Java解析Apk信息代码及jar包,能获取Apk包名,版本信息,版本号
安卓打包方式改变,Java解析apk包更新,解决Java解析apk时桌面图标问题提示问题。
java平台读取apk获取apk相关信息
把.apk文件改名为.zip,然后解压缩,得到其中的classes.dex文件,它就是java文件编译再通过dx工具打包成的,所以现在我们就用上述提到的2个工具来逆方向导出java源文件 2.把classes.dex拷贝到dex2jar.bat所在目录。 ...
此前看到网上有很多博客解析APK使用的是解析ZIP包,然后解析Manifest文件去实现的,但是那种方法对应APK加密,加壳的无法解析,使用AAPT可以无痕解析任何APK信息
Java获取apk安装包信息工具jar包,获取versionCode、versionName、package、minSdkVersion、targetSdkVersion、uses-permission,等。
解析apk文件,从apk中可以拿到版本号码,版本名称,包名,权限, 支持的android平台最低版本号,支持的SDK版,建议的SDK版本,应用程序名,程序的图标等一系列信息。
纯java读取apk文件信息(包括版本号,包名等),欢迎下载
Android 反编译APK到Java源码的方法