use*_*236 5 android broadcastreceiver android-3.0-honeycomb android-4.0-ice-cream-sandwich
我为Android 4.0编写了1个应用程序,它是通过broadcastreceiver启动的.我的代码如下:
在AndroidManifest.xml中:
<uses-permission android:name="android.permission.INTERNET" />
<application android:icon="@drawable/icon" android:label="@string/app_name">
<receiver android:name="com.Android.Exercise.StartUpReceiver"
android:permission="android.permission.RECEIVE_BOOT_COMPLETED">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED"/>
<!--<action android:name="StartInstrument" />
<action android:name="PrintControlName" /> -->
</intent-filter>
</receiver>
<service android:enabled="true" android:name="StartAUT_Service">
<intent-filter>
<action android:name="com.Android.Exercise.StartAUT_Service" />
</intent-filter>
</service>
</application>
Run Code Online (Sandbox Code Playgroud)
在StartUpReceiver类中:
public class StartUpReceiver extends BroadcastReceiver{
@Override
public void onReceive(Context context, Intent intent) {
Log.i("Broadcast", "onReceive");
Intent i = null;
if(intent.getAction().equals(Intent.ACTION_BOOT_COMPLETED)){
i = new Intent(context, StartAUT_Service.class);
i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
}
context.startService(i);
}
}
Run Code Online (Sandbox Code Playgroud)
重新启动设备后,我无法接收广播.请帮帮我,非常感谢
从Android 3.0开始,引入了应用程序状态.所有应用程序现在都安装了状态设置为非活动状态,使其所有的BroadcastReceivers都处于非活动状态.
要使状态为活动状态,用户必须至少启动一次应用程序,操作系统将自动激活应用程序及其所有BroadcastReceivers.
在您的情况下,您需要添加活动,无论是许可协议还是帮助页面.这将为您的应用创建一个图标,供用户单击并激活该应用.
请注意,如果用户强制关闭应用程序,则应用程序的状态将设置为非活动状态.
我遇到了类似的问题:Android ICS没有收到数据短信
我希望能解决你的问题,或者至少让你走上正轨.
亲爱的,艾哈迈德
尝试
<uses-permission android:name="android.intent.action.BOOT_COMPLETED" />
Run Code Online (Sandbox Code Playgroud)
低于互联网使用许可
| 归档时间: |
|
| 查看次数: |
2781 次 |
| 最近记录: |