近日,赛门铁克全球高级副总裁、亚太及日本地区总裁郭尊华做客搜狐IT第一访谈,和搜狐的网友分享了赛门铁克的公司愿景,以及云计算和移动互联网时代赛门铁克的应对之道。
纵观赛门铁克的发展历史,从一家软件厂商成长为一家全球五百强公司,赛门铁克先后进行了数十次并购。郭尊华表示,并购的目的是为了丰富产品线,更好的为客户服务。郭尊华认为,赛门铁克亚太区正在面临一些并购机会,比如医疗行业,政府行业,制造业,电信行业等。
郭尊华强调,中国已经成为赛门铁克的最大单一市场之一,公司也在不断的加大在华投资,现阶段,赛门铁克在整个大中国区拥有1300名员工,而且这个数量还在不断的增加中,并且在中国有两个研发中心,以及一个安全响应中心。
具体到中国市场的业务,郭尊华表示,赛门铁克的业务比较广泛,包括企业级产品、中小型企业产品,以及一些消费者产品等等,赛门铁克的出现在制造业、政府、医疗、电信、金融等等行业,且赛门铁克在这些行业的收入持续增长。
谈到云计算时,郭尊华认为,云计算给赛门铁克带来了机会,公司会针对不同的客户提供公有云和私有云服务。公有云方面,赛门铁克有16个公用云服务提供给客户,分别是云端的备份和恢复,利用云计算技术来帮助企业管控信息安全认证等。
对于时下火热的移动互联网浪潮,郭尊华认为,移动互联的到来给企业的确是带来了很大的好处,因为它可以有很多创新的服务,给员工提高生产力,有很大的进步空间,但同时也会给公司带来挑战,以前那种以基础架构为中心的信息安全管理已经是不够用了,现在必须是要以信息为核心的安全架构,企业必须要有这个理念上的转变。
使用代码
private Bitmap getThumbnail(Context paramContext, long paramLong, Uri paramUri)
{
MediaMetadataRetriever localMediaMetadataRetriever = new MediaMetadataRetriever();
Bitmap localBitmap1;
try
{
localMediaMetadataRetriever.setDataSource(paramContext, paramUri);//获取图像前必须先设置dataSource
Bitmap localBitmap2 = localMediaMetadataRetriever.getFrameAtTime(1000L * paramLong);//获取指定时间视频文件图像
localBitmap1 = localBitmap2;
if(localBitmap1==null){
localBitmap1=BitmapFactory.decodeResource(paramContext.getResources(), R.drawable.ic_video_default);
}
return localBitmap1;
}
catch (RuntimeException localRuntimeException)
{
Log.d("SecVideoWidgetProvider", "getThumbnail localRuntimeException");
return null ;
}
}
1、首先、AppWidget添加的Dialog是通过长按出来的,所以查找onLongClick()方法,看到有showAddDialog(cellInfo);方法
2、跳转到showAddDialog()方法看到showDialog(DIALOG_CREATE_SHORTCUT);是通过Activity的showDilaog()显示一个dialog,所以找到onCreateDialog方法,
找到对应的dialog的ID(DIALOG_CREATE_SHORTCUT),看到如下代码:
case DIALOG_CREATE_SHORTCUT: return new CreateShortcut().createDialog();
3、再跳转到CreateShortCut这个内部类,可以发现长按的菜单就是从这里创建的,
在onClick方法中有对窗口小部件项的点击处理。代码如下:
int appWidgetId = Launcher.this.mAppWidgetHost.allocateAppWidgetId(); Intent pickIntent = new Intent(AppWidgetManager.ACTION_APPWIDGET_PICK); pickIntent.putExtra(AppWidgetManager.EXTRA_APPWIDGET_ID,appWidgetId); // start the pick activity startActivityForResult(pickIntent, REQUEST_PICK_APPWIDGET);
通过intent启动了一个activity,AppWidgetManager.Action_APPWIDGET_PICK这个action是启动settings(设置)中的AppWidgetPickActivity.java的activity,列出系统已经安装了的AppWidget,并将用户选择的AppWidget和传送进来的AppWidgetId进行绑定,(绑定这里要强调一下,绑定是通过AppWidgetManager中的bindAppWidgetId(id, provider)方法进行绑定的,此方法需要系统权限才可以执行,设置是有系统权限的,所以想要后台代码添加widget到自已写的launcher中时,launcher必须得有系统权限,否则不可以后台代码添加widget)。
4、选择widget后再加到Launcher.java中看onActivityResult
case REQUEST_PICK_APPWIDGET: addAppWidget(data);
再跳转到addAppWidget方法,if (appWidget.configure != null)是判断该widget是否有设置,如果有设置,则先跳转到设置界面,若没有设置则直接执行completeAddAppWidget()方法,将widget添加到桌面有桌面数据库中。
这样一个AppWidget就添加完成了。。。。。