package com.flysnow.intent;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import android.app.ListActivity;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.os.Bundle;
import android.view.View;
import android.widget.ListView;
import android.widget.SimpleAdapter;
import android.widget.Toast;
/**
* Intents测试列表类
* @author 飞雪无情
* @since 2011-3-14
*/
public class IntentsTestList extends ListActivity {
private String ACTION_VIEW="com.flysnow.intent.ACTION_VIEW";
private String CATEGORY_MAN="com.flysnow.intent.CATEGORY_MAN";
private String CATEGORY_SHOP="com.flysnow.intent.CATEGORY_SHOP";
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//定义ListAdapter
setListAdapter(new SimpleAdapter(this, getData(),
android.R.layout.simple_list_item_1, new String[] { "title" },new int[] {android.R.id.text1}));
getListView().setTextFilterEnabled(true);
filter.addCategory(CATEGORY_MAN);
//注册一个广播
super.registerReceiver(new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
Toast.makeText(context, "该Broadcast的Intent Filter设置了Category和Action", Toast.LENGTH_SHORT).show();
}
},filter);
}
@Override
protected void onListItemClick(ListView l, View v, int position, long id) {
Intent intent=(Intent)getData().get(position).get("intent");
Boolean isActivity=(Boolean)getData().get(position).get("isActivity");
if(isActivity){
startActivity(intent);
}else{
sendBroadcast(intent);
}
}
/**
* 返回ListView需要的数据
* @return ListView需要的数据
*/
private List<Map<String,Object>> getData() {
List<Map<String,Object>> data=new ArrayList<Map<String,Object>>();
addItem(data, "1个Category检测-Activity", new Intent(ACTION_VIEW).addCategory(CATEGORY_MAN),true);
addItem(data, "1个Category检测-Broadcast", new Intent(ACTION_VIEW).addCategory(CATEGORY_MAN),false);
addItem(data, "2个Category检测-Activity", new Intent(ACTION_VIEW).addCategory(CATEGORY_MAN).addCategory(CATEGORY_SHOP),true);
return data;
}
/**
* 给ListView添加数据
* @param data 存储数据的List
* @param name 要显示的Title
* @param intent 单击某一项时要启动的Activity
* @param isActivity 启动的是否是Activity,true是,false为广播
*/
private void addItem(List<Map<String,Object>> data, String name, Intent intent,boolean isActivity) {
Map<String, Object> temp = new HashMap<String, Object>();
temp.put("title", name);
temp.put("intent", intent);
temp.put("isActivity", isActivity);
data.add(temp);
}
private IntentFilter filter=new IntentFilter(ACTION_VIEW);
}
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
Android Intents and Intent Filters(二)源代码 对应博客 http://blog.csdn.net/michael__li/article/details/6950127
资源推荐
资源详情
资源评论



格式:doc 资源大小:134.0KB 页数:13

格式:doc 资源大小:81.0KB 页数:14







格式:docx 资源大小:219.9KB 页数:10


















收起资源包目录















































共 26 条
- 1
资源评论

- zy46186fk2013-05-15可以运行很好啊

「已注销」
- 粉丝: 63
上传资源 快速赚钱
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- 在电子信息化环境下如何做好工程档案的归档工作.docx
- 专业技术人员公需科目-计算机网络信息安全与管理-试题及答案22.doc
- 上半年数据库系统工程师考试上午真题.docx
- 中国物联网芯片行业市场现状与竞争格局分析-前景广阔、力图冲破外资垄断.docx
- 4G无线网络安全的关键技术研究.docx
- PLC高楼变频恒压供水系统大学本科方案设计书.doc
- 案例教学法在技工院校计算机教学中的应用.docx
- yokingma-deepresearch-22520-1755765269457.zip
- 合作学习构建中职计算机应用基础教学探究.docx
- 市场对互联网+同城快递的需求分析.docx
- 企业IDRS网络视频集中监控解决方案-企业工厂.docx
- PHP计算机网络工程项目师简历表格.doc
- CDMA通信系统数据与语音传输设计王树伟陈阵汪亚文.doc
- 软件测试与软件质量关系的概述.docx
- 第一章信息技术与计算机.ppt
- 智慧农业物联网系统设计.doc
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈



安全验证
文档复制为VIP权益,开通VIP直接复制
