
我的应用程序使用FB Authbutton.如果设备上未安装FB应用程序,则用户将在浏览器上转到m.facebook并登录.如果安装了当前FB应用程序,则fb自定义URL(fbconnect)允许用户使用FB应用程序登录.
较早版本的FB应用程序无法识别自定义URL,并将其移到浏览器中. (此问题:Facebook SDK 3.0 with old Facebook app version redirects to browser and gets stuck)
如何检查设备上安装了哪个版本的FB应用程序?如果可以,则对于较旧版本的FB应用,我将其发送至浏览器或使用网络对话.
我找到的最接近的将是使用getPackageManager().getApplicationInfo(“ com.example.name”,0)
但我不确定是否可以返回apk版本.
解决方法:
context.getPackageManager().getPackageInfo(packagename, PackageManager.GET_SIGNATURES).versionCode确实返回了Facebook版本代码(与版本名称不同).经过一番挖掘后,我们发现Facebook版本1.9.8可以使用,即版本代码40477.
当我们使用不推荐使用的Facebook.@R_502_5680@时,我们修改了valIDateAppSignatureForPackage(),它似乎可以工作!
private boolean valIDateAppSignatureForPackage(Context context, String packagename) { PackageInfo packageInfo; try { packageInfo = context.getPackageManager().getPackageInfo(packagename, PackageManager.GET_SIGNATURES); if(packageInfo.versionCode<40477) { Log.i("valIDateAppSignatureForPackage", "Your facebook app version is prior to 1.9.8. Update your facebook app"); return false; } } catch (nameNotFoundException e) { Log.i("valIDateAppSignatureForPackage", e.getMessage()); return false; } catch(Exception e) { Log.i("valIDateAppSignatureForPackage", e.getMessage()); return false; } for (Signature signature : packageInfo.signatures) { if (signature.tochaRSString().equals(FB_APP_SIGNATURE)) { return true; } } return false;}如果您想自己进行测试,可以在这里找到facebook应用程序的早期版本:
http://www.androiddrawer.com/2274/download-facebook-for-android-1-9-7-app-apk/#.Uctn6Zwaux4
以上是内存溢出为你收集整理的android-检测安装了什么版本的Facebook apk全部内容,希望文章能够帮你解决android-检测安装了什么版本的Facebook apk所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)