QQ群加群助手web/iOS/Android/二维码

官网地址:http://qun.qq.com/join.html 网页版:

Flash新手营内部学习

iOS:

- (BOOL)joinGroup:(NSString *)groupUin key:(NSString *)key{ NSString *urlStr = [NSString stringWithFormat:@”mqqapi://card/show_pslcard?src_type=internal&version=1&uin=%@&key=%@&card_type=group&source=external”, @”244675613”,@”【官网给的你的QQ群的Key】”]; NSURL *url = [NSURL URLWithString:urlStr]; if([[UIApplication sharedApplication] canOpenURL:url]){ [[UIApplication sharedApplication] openURL:url]; return YES; } else return NO; }

  Android:

/**************** * * 发起添加群流程。群号:xxx key 为:【官网给的你的QQ群的Key】 * 调用 joinQQGroup(【官网给的你的QQ群的Key】) 即可发起手Q客户端申请加群 * * @param key 由官网生成的key * @return 返回true表示呼起手Q成功,返回fals表示呼起失败 ******************/ public boolean joinQQGroup(String key) { Intent intent = new Intent(); intent.setData(Uri.parse(“mqqopensdkapi://bizAgent/qm/qr?url=http%3A%2F%2Fqm.qq.com%2Fcgi-bin%2Fqm%2Fqr%3Ffrom%3Dapp%26p%3Dandroid%26k%3D” + key)); // 此Flag可根据具体产品需要自定义,如设置,则在加群界面按返回,返回手Q主界面,不设置,按返回会返回到呼起产品界面 //intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK) try { startActivity(intent); return true; } catch (Exception e) { // 未安装手Q或安装的版本不支持 return false; } }

    不过Android版貌似有个坑爹的地方,跳转到加群页面后,如果用户进行了操作,返回只会返回到QQ主界面,无法返回到自己应用,关键是再点击自己的应用图标  依然打开的是QQ,必须杀掉自己的应用才可以,坑!

在Mac上配置adb命令

在Mac上配置adb命令 在Mac OS中使用adb命令时,应进行变量配置,步骤如下:

一、终端中输入 cd ~

二、输入touch .bash_profile 回车

touch:如果没有,则创建文件,如果有,更新一下文件时间

三、输入open -e .bash_profile

open:打开文件 回车后会在TextEdit中打开这个文件(如果未配置过环境变量,应该是个空白文件)。在文件中加如以下内容

export PATH=${PATH}:/Users/xxx/Library/Android/sdk/platform-tools

上面是我的电脑上的路径,请自行修改,其实就是你android sdk的路径

在设置了android:parentActivityName后,点击子Activity返回键,父Activity总会调用OnDestroy()的解决方案

一个Activity在manifet里声明了android:parentActivityName;这时候通过Activity左上角的返回按钮点击返回, 启动声明的父Activity,总会先调用父Activity的OnDestroy方法,具体如下面所说:

1
2
3
4
5
6
7
8
<activity
android:name="com.example.helloworld.DisplayMessageActivity"
android:label="@string/title_activity_display_message"
android:parentActivityName="com.example.helloworld.MainActivity" >
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value="com.example.helloworld.MainActivity" />
</activity>

DisplayMessageActivity为子Activity,而MainActivity为父Activity,点击

DisplayMessageActivity的左上角返回按钮的时候,调用逻辑如下:

1
2
3
MainActivity.onDestroy()
MainActivity.onCreate(null)
MainActivity.onStart()

解决方案是:

为设置MainActivity属性android:launchMode=singleTop

顺便脑补android:parentActivityName的作用,就是为了左上角给子Activity加一个返回按钮,具体信息如下:

Android 4.1提高性能、增强用户体验

  App 栈导航:通过设置android:parentActivityName改变回退栈的内容,如果栈中没有parentActivity,则合成栈,通过onPrepareNavigateUpTaskStack()改变parentActivity中的内容。

使用多个iOS ANE的duplicate symbol问题

当使用AIR进行iOS应用开发时,如果用到了多个iOS ANE,有时在打包时会遇到duplicate symbol问题,比如:

ld: duplicate symbol _ContextInitializer …..

这个问题的原因是由于多个ANE的iOS原生代码中有同名的类或全局变量。解决方法便是统一给它们加上一个前缀,比如公司和产品的名字组合。 如果使用ANE模板项目创建的ANE,会有 ContextInitializer等同名方法,注意修改   其他关于开发ANE需要注意的问题可以参见这篇文章: 原文:20 tips for creating Air Native Extensions for iOS 中文翻译:20条开发AIR Native Extension的建议