1.问题
在测试Android开启广播接受的时候,Android3.0之后就增加了权限,在模拟器测试的时候是可以接受到广播并且开启的指定的App。不过在真机上面调试的时候,一直不能接受到,开机广播不能接受,网上也看了很多文章,没有解决。
2.解决
我的手机是Android4.0的,真机调试时也按网上解决方法试了,增加权限,安装之后先运行了一次,设置自启动项。不过都没有用。原来是我安装App都是安装在SDCard上面的,刚开机时要加载SDCard,可能加载完之后App就无法就收到开机广播了,最后我把App移至系统空间才解决
public class BootReceiver extends BroadcastReceiver { private static final String TAG = "BootReceiver"; @Override public void onReceive(Context context, Intent intent) { // TODO Auto-generated method stub Log.i(TAG, "广播已经接受"); Intent activityIntent = new Intent(context, MainActivity.class); activityIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); context.startActivity(activityIntent); } }
<!-- 权限是3.0之后要添加的 --> <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/> <uses-sdk android:minSdkVersion="15" android:targetSdkVersion="15" /> <application android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" > <activity android:name=".MainActivity" android:label="@string/app_name" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <receiver android:name="com.pt.receiver.BootReceiver"> <intent-filter > <action android:name="android.intent.action.BOOT_COMPLETED" /> </intent-filter> </receiver> </application>
相关推荐
在讨论Android 4.0网络编程的知识点之前,需要了解Android 4.0(代号Ice Cream Sandwich,简称ICS)是Google在2011年发布的Android操作系统版本。它集成了之前的版本特色,并且首次尝试统一了平板和手机平台的用户...
Android 4.0,也称为Ice Cream Sandwich (ICS),是Google推出的一个重要的Android操作系统版本,对用户界面和开发者功能进行了重大改进。对于Android应用开发者来说,深入理解Android 4.0源码对于优化代码、解决问题...
本资源提供了Android 4.0(Ice Cream Sandwich,ICS)版本的Setting模块应用层的源代码,这对于开发者深入理解Android系统的设置逻辑和自定义设置项具有极高的参考价值。 首先,我们来了解一下Setting模块的基本...
在这些类中,我们可以看到Android的Intent机制如何用于启动和切换活动,以及BroadcastReceiver如何接收系统广播,例如电源状态变化或闹钟触发。 DeskClock的闹钟功能是其重要组成部分。在AlarmManager的帮助下,...
1. **蓝牙API**:Android提供了`BluetoothAdapter`类,它是系统蓝牙服务的主要接口,用于检测蓝牙是否可用、开启/关闭蓝牙、扫描设备和连接到特定设备。`BluetoothSocket`类用于建立连接并处理数据传输。 2. **串口...
在Android 4.0(Ice Cream Sandwich)系统中,`settings`模块是核心组件之一,它负责提供系统设置界面和管理各种系统级别的配置选项。这个模块的源代码深入揭示了Android如何处理用户对设备的各种个性化设定。让我们...
在Android平台上,蓝牙4.0(也称为Bluetooth Low Energy,BLE4.0)是一个重要的通信技术,主要用于设备之间的低功耗连接和数据交换。在这个"Android蓝牙4.0例子"中,我们将深入探讨如何实现搜索蓝牙设备、建立连接...
在Android 4.0(Ice Cream Sandwich)系统中,蓝牙功能得到了显著的增强,特别是引入了Bluetooth Low Energy(BLE)技术,使得设备间的数据通信更加高效且节能。本教程将详细解析如何创建一个简单的Android应用,实现...
《Android BLE 4.0 深入解析与实践指南》 随着物联网技术的发展,蓝牙低功耗(Bluetooth Low Energy,简称BLE)在移动设备中的应用越来越广泛,尤其是在Android平台上。Android BLE 4.0是Android系统对蓝牙低功耗...
首先,我们需要导入Android的Bluetooth相关的库,通常在AndroidManifest.xml中开启蓝牙权限: ```xml <uses-permission android:name="android.permission.BLUETOOTH" /> <uses-permission android:name="android....
Android 4.0 的 Launcher2 是 Android 桌面启动器的一个版本,它负责呈现用户在设备上看到的主屏幕、应用抽屉和其他界面。在这个源代码包中,我们可以深入理解 Android 应用程序框架、UI 设计以及系统级别的交互逻辑...
从Android 4.3(API级别18)开始,Google引入了对蓝牙4.0低功耗协议的支持,使得开发者能够创建高效能、低能耗的蓝牙连接,特别适用于健康监测器、智能手表、传感器网络等设备。 这个"安卓蓝牙4.0开发DEMO"是谷歌...
在Android平台上,蓝牙4.0(也称为Bluetooth Low Energy或BLE)是一种低功耗通信技术,广泛用于物联网设备和移动应用。"蓝牙4.0透传功能"主要指的是通过蓝牙建立一个透明的数据传输通道,允许设备之间直接交换数据,...
- **快速连接**:蓝牙4.0通过快速切换频道和广播,减少了搜索和连接时间,降低了能量消耗。 - **休眠模式**:设备在无活动时可进入休眠状态,只在需要通信时唤醒。 - **数据包优化**:小数据包传输减少开销,提高...
与蓝牙4.0兼容的Android设备可以作为BLE的中央设备(Central)或外围设备(Peripheral)角色,前者可以扫描和连接到BLE设备,后者则可以广播数据。 在Android上开发iBeacon,我们需要使用Android Bluetooth API,...
在Android平台上,蓝牙4.0(也称为Bluetooth Low Energy,BLE)是一种低功耗通信技术,主要用于物联网设备和智能手机之间的数据传输。这个“android蓝牙4.0程序”可能是一个示例应用,帮助开发者理解如何在Android...
**Android BLE蓝牙4.0详解** Bluetooth Low Energy (BLE), 也称为Bluetooth Smart,是蓝牙技术联盟(SIG)为物联网设备设计的一种低功耗无线通信标准。在Android系统中,自4.3版本(API Level 18)开始,Google引入...
在Android 4.3系统中,蓝牙4.0(也称为Bluetooth Low Energy或BLE)的引入为开发者提供了更高效、低功耗的无线通信能力。这个"Android 4.3 官方蓝牙 4.0 demo"是谷歌官方提供的一个示例应用,旨在帮助开发者理解和...
1. `BluetoothAdapter`: 是Android系统蓝牙服务的主要接口,用于管理蓝牙的开启、关闭、扫描设备等操作。 2. `BluetoothDevice`: 表示一个蓝牙设备,包含设备的MAC地址、名称等信息,可以用于连接操作。 3. `...
4. **广告与扫描**: 蓝牙4.0支持广播模式,设备可以发送无需建立连接的广告数据包,这在寻找附近设备或进行背景通信时非常有用。 5. **安全性**: 通过AES-128加密确保数据传输的安全性,防止未授权访问。 6. **...