我有个这样的设想,android的蜂窝数据模块和wifi模块可以看做是两个网卡,我想做一个程序,能够指定不同的应用使用不同的数据连接,比如让qq使用蜂窝数据,让音乐视频使用wifi?我知道在单个app内,可以使用ConnectivityManager.setNetworkPreference()来控制网络请求连接方式,但是怎么实现管理第三方应用程序的网络连接呢?

解决方案 »

  1.   


    我很不明白你所说的修改源码是熟么意思?你打算修改系统源码来让系统控制应用程序的网络请求连接方式?
    逻辑上就行不通啊!系统只可自己控制当前wifi开关、3G开关,并不会对一切应用程序预留标记啊。除非你修改系统源码要求每个app必须实现这个回调,然而也就意味着你必须自己写QQ啊什么的应用程序来配合你的系统。
    这种思路的修改没有意义……所以我没理解你的目的是写什么
      

  2.   

    除了2L说的!  基本不可能实现, 我个人建议在源码launcher中加入对 已预置的应用启动包名
    使用网络的业务流量收费提示,增加定制分离!
      

  3.   


    就是修改源码中一般app所调用的那个函数接口,在传参和返回值不变的情况下,根据当前程序(可以通过数据包或者当前正在运行的程序来判断)的包名,实现其数据请求走指定的网络通路。目前暂时是这个思路,但是怎么指定数据请求的网络通路呢?