android - 怎样才能在连接本地WIFI是通过 3G/4G 实现微信分享?
问题描述
现在在做一个项目,APP 跟设备之间是 WIFI 连接,即 APP 连接的是设备提供的 WIFI 热点,是不能上网的,然后,现在要实现微信分享的功能。
微信分享使用的是友盟的SDK,在使用能连外网的WIFI时可以正常分享,悲剧的是项目中连的是不能上外网的WIFI。
经过搜索、测试发现,android 5.0 以上系统通过执行以下代码:
@TargetApi(Build.VERSION_CODES.LOLLIPOP)public static void bringUpCellularNetwork(Context context) { if (Build.VERSION.SDK_INT < Build.VERSION_CODES.LOLLIPOP) {return; } final ConnectivityManager connMgr = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE); final NetworkRequest networkReq = new NetworkRequest.Builder() .addCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET) .addTransportType(NetworkCapabilities.TRANSPORT_CELLULAR) .build(); connMgr.requestNetwork(networkReq, new ConnectivityManager.NetworkCallback() {@Overridepublic void onAvailable(android.net.Network network) { ConnectivityManager.setProcessDefaultNetwork(network);} });}
可以使 APP 通过 3G/4G 访问外网,但是微信分享不能成功(调不出微信分享页面)。
初步分析,认为此时微信也需要能够上网才成,但是没找到通过程序让另外的APP(微信)也通过指定网络上网的接口,所以,想请教下是不是有方法能在连接不能上外网的WIFI的情况下,通过 3G/4G 网络来实现微信分享?
问题解答
回答1:需要能访问外网啊,必须调用微信的接口才能实现分享。
相关文章: