android studio之带回调方法的Intent使用实例

带回调方法的Intent使用实例

使用带回调方法的Intent进行Activity跳转实例

我们通过一个包含两个Activity的Android工程来实现应用程序内部之间的Activity的跳转。

先建立一个空的工程项目

除了系统生成的MainActivity,我们再手动新建一个SecondaryActivity,建立的方法是到需要的包下右击,然后单击new   Activity,然后选择需要的Activity类型即可。

检查AndroidManifest.xml中有没有注册新建的Activity,没有的注册的话手动添加,代码如下(红色框选的部分):

在MainActivity中实现向SecondaryActivity发送带请求码的意图,具体实现方法如下:

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要实现QQ登录功能,需要进行以下步骤: 1. 注册QQ开放平台,获取App ID和App Key。 2. 在AndroidManifest.xml文件添加以下代码: ```xml <activity android:name="com.tencent.connect.common.AssistActivity" android:configChanges="orientation|keyboardHidden|screenSize" android:theme="@android:style/Theme.Translucent.NoTitleBar" /> <meta-data android:name="QQ_APP_ID" android:value="YOUR_APP_ID" /> <intent-filter> <action android:name="android.intent.action.VIEW" /> <category android:name="android.intent.category.DEFAULT" /> <category android:name="android.intent.category.BROWSABLE" /> <data android:scheme="tencentYOUR_APP_ID" /> </intent-filter> ``` 其,YOUR_APP_ID需要替换成你在QQ开放平台注册时获取的App ID。 3. 添加QQ登录按钮到登录界面,并在点击事件添加以下代码: ```java // 创建QQ登录实例 mTencent = Tencent.createInstance("YOUR_APP_ID", context); // 调用QQ登录 mTencent.login(activity, "all", new BaseUiListener()); ``` 其,YOUR_APP_ID需要替换成你在QQ开放平台注册时获取的App ID。 4. 在BaseUiListener处理QQ登录成功或失败的回调,并获取用户信息: ```java class BaseUiListener implements IUiListener { @Override public void onComplete(Object response) { // 登录成功回调 JSONObject jsonResponse = (JSONObject) response; if (null != jsonResponse && jsonResponse.length() == 0) { return; } // 获取用户信息 String openId = jsonResponse.optString("openid"); String accessToken = jsonResponse.optString("access_token"); String expires = jsonResponse.optString("expires_in"); mTencent.setAccessToken(accessToken, expires); mTencent.setOpenId(openId); QQToken qqToken = mTencent.getQQToken(); UserInfo userInfo = new UserInfo(context, qqToken); userInfo.getUserInfo(new IUiListener() { @Override public void onComplete(Object o) { // 获取用户信息成功回调 JSONObject infoJson = (JSONObject) o; String nickname = infoJson.optString("nickname"); String headImageUrl = infoJson.optString("figureurl_qq_2"); } @Override public void onError(UiError uiError) { // 获取用户信息失败回调 } @Override public void onCancel() { // 取消操作回调 } }); } @Override public void onError(UiError e) { // 登录失败回调 } @Override public void onCancel() { // 取消操作回调 } } ``` 以上是实现QQ登录的大致逻辑。其还需要注意的一些细节问题,比如在登录成功和失败的回调,需要在主线程更新UI;需要添加网络权限等。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值