`
Leif_冬
  • 浏览: 46692 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论

在android frameworks裏新增廣播接受的注意事項

 
阅读更多

調用注冊廣播:

 private IntentFilter intentFilter ;
 private receiveBroadcastReceiver mreceiveDialogBroadcastReceiver;


 IntentFilter intentFilter = new IntentFilter();
 intentFilter.addAction("com.receiveotamessage.broadcast");
 mreceiveDialogBroadcastReceiver = new receiveBroadcastReceiver();
 mContext.registerReceiver(mreceiveDialogBroadcastReceiver,intentFilter);

 

另一個Class開啓後將數據通過廣播的方式回傳給上一個Class:

 

Intent closeintent = new Intent();
closeintent.setAction("com.receiveotamessage.broadcast");	
if(isNeedUpdate) {
         readUpdateZipFile(updateFilePath);
         closeintent.putExtra("checkresult", "true");	
         closeintent.putExtra("updatepath",updateFilePath);	
         closeintent.putExtra("offset", offset);	
         closeintent.putExtra("size", size);
         closeintent.putExtra("header", headerKeyValuePairs);
         if(maxExternalTimesTamp>maxInternalTimesTamp) {
               closeintent.putExtra("imagetimestamp", String.valueOf(maxExternalTimesTamp));
          }else{	
               closeintent.putExtra("imagetimestamp", String.valueOf(maxInternalTimesTamp))
;	
          }	
}else{
          closeintent.putExtra("checkresult", "false");
}
closeintent.putExtra("currentversion",currentVersion);
closeintent.putExtra("systemversion",osVersion);
sendBroadcast(closeintent);

 

 

接受廣播:

 public class receiveBroadcastReceiver extends BroadcastReceiver {
        @Override
        public void onReceive(Context context, Intent intent) {
            checkZipFileResult = intent.getStringExtra("checkresult");	
            currentVersion = intent.getStringExtra("currentversion");
            osVersion = intent.getStringExtra("systemversion");
            if(checkZipFileResult.equals("true")) {
                try {
                    imageTimesTamp = intent.getStringExtra("imagetimestamp");
                    offset = Long.parseLong(intent.getStringExtra("offset"));
                    size =  Long.parseLong(intent.getStringExtra("size"));
                    updatePath = intent.getStringExtra("updatepath");
                    headerKeyValuePairs = intent.getStringArrayExtra("header");
                    mWindowManagerFuncs.systemUpdate(currentVersion, osVersion);
                }catch (Exception e){
                    e.printStackTrace();
                }
            }else{	
                mWindowManagerFuncs.showReadFileFailPromptDialog();
            }	
        }
    }	

 

 

需要在/frameworks/base/core/res/AndroidManifest.xml 新增:

<protected-broadcast android:name="com.receiveotamessage.broadcast"></protected-broadcast>

 

分享到:
评论

相关推荐

    android frameworks src code

    android frameworks src code about wifi: package android.net.wifi; import android.util.Log; import android.util.Config; import android.net.NetworkInfo; import android.net.NetworkStateTracker; ...

    android_frameworks_base,.zip

    在Android系统中,`android_frameworks_base`是一个至关重要的组件,它是Android操作系统的核心框架层,包含了各种服务、接口和系统级别的组件。这个开源项目是Android开发人员深入理解Android系统运行机制的关键...

    Android-2.3.7-frameworks-src

    Android-2.3.7-frameworks-src,Android源代码,Android_Frameworks层源代码,下载后用eclpse关联源代码文件夹,然后就可以利用eclpse翻看Android Frameworks层的源代码

    android_source_frameworks_02_base_02

    在Android系统中,`frameworks/base`是核心框架层,它是Android操作系统的心脏,负责提供大量的API和服务,供上层应用程序和系统组件调用。这个目录包含了Android的系统服务、库、以及各种重要的组件,是Android源码...

    frameworks_services_jni_hardware_kernel.zip

    在Android系统中,`frameworks`, `services`, `jni`, `hardware`以及`kernel`是五个非常关键的组件,它们共同构建了Android操作系统的核心架构。`frameworks_services_jni_hardware_kernel.zip`这个压缩包文件提供了...

    android2.2 frameworks内services和ui代码

    在`frameworks/base/core/java/android/app`和`frameworks/base/core/java/android/view`目录下,我们可以找到这些组件的源代码。 在`Android 2.2`中,触摸屏的支持是UI交互的重要部分。触摸事件的处理主要在`Input...

    frameworks/base/cmds/bootanimation

    在Android系统中,`frameworks/base/cmds/bootanimation`目录包含了一组用于创建和控制设备启动时播放的动画和声音的文件。这个目录是Android源码树的一部分,它揭示了Android系统如何处理开机动画这一关键用户体验...

    platform_frameworks_support,.zip

    平台框架支持库(platform_frameworks_support)是Android开发中的一个重要组成部分,它属于Google的Jetpack套件。Jetpack是Google为了提升Android应用开发效率和质量而推出的一系列库和工具的集合,它包括了组件、...

    android 4.0 Frameworks.jar

    android 4.0,launcher里面需要的jar包Frameworks.jar

    Android JellyBean 4.1.2 Frameworks源码

    以上就是Android JellyBean 4.1.2 Frameworks源码中涉及的一些核心知识点。这些技术细节和改进为开发者提供了强大的工具集,使他们能够创建出更高效、更流畅的应用程序,同时也为后续版本的Android系统奠定了坚实的...

    Pro Android学习:media frameworks小例子

    在Android开发中,Media Frameworks是一个至关重要的组件,它提供了处理多媒体数据(如音频、视频和图像)的能力。本篇文章将深入探讨`Media Frameworks`的相关知识点,通过一个实际的小例子来帮助理解其工作原理和...

    android Framework层的修改规则

    - **修改Android.mk文件**:在`/Android/android-1.6_r2/frameworks/base/core/jni`目录下的`Android.mk`文件中,需要向`LOCAL_SRC_FILES`变量中添加新文件的路径,例如: ```makefile LOCAL_SRC_FILES := \ ...

    android wifi frameworks

    在Android系统中,WiFi框架是实现无线网络连接的关键部分,它负责管理设备的WiFi功能,包括扫描可用网络、连接到选定的网络以及维护连接。本文将深入探讨Android WiFi框架,特别是用户发起连接时的Wlan开启过程和`...

    android_platform_frameworks_surpport_master

    在Android开发中,`android-platform-frameworks-support-master`是一个非常重要的资源,它包含了对Android支持库的源代码,包括v4、v7和v13版本。这些支持库是Google为了帮助开发者兼容不同版本Android系统而提供的...

    android_source_frameworks_01

    在Android系统中,`frameworks`是至关重要的组成部分,它包含了Android操作系统的各种核心服务、API框架以及系统库。在给定的`android_source_frameworks_01`压缩包中,我们可以看到几个关键的子目录:`media`, `ex`...

    android7 关闭ANR对话框代码

    在Android 7.0中,它新增了自动关闭ANR对话框的逻辑。当ANR发生时,AppErrors类会创建并显示一个AppNotRespondingDialog实例。然后,AppErrors会启动一个定时器,在预设的时间间隔后自动关闭这个对话框。这样,如果...

    android 静音与马达振动流程.doc

    `AudioManager`是一个系统服务,它在`frameworks/base/media/java/android/media/AudioManager.java`中定义。`setRingerMode`方法接收一个整数参数`ringerMode`,这个参数可以是`RINGER_MODE_SILENT`, `RINGER_MODE...

Global site tag (gtag.js) - Google Analytics