我希望在我使用我的程序的时候得到事件,所以我决定使用这个服务
public class PackageChangeReceiver extends BroadcastReceiver {
Context context;
@Override
public void onReceive(Context ctx, Intent intent) {
}}
并在主要节日
<receiver android:name=".PackageChangeReceiver" >
<intent-filter>
<action android:name="android.intent.action.PACKAGE_REMOVED" />
<action android:name="android.intent.action.PACKAGE_REPLACED" />
<action android:name="android.intent.action.PACKAGE_ADDED" />
<data android:scheme="package" />
</intent-filter>
</receiver>
但是这个服务在我安装我的应用程序的第一时间不起作用,我怎么能让它在第一次运行?或者不可能这样做? 我必须第二次从eclipse更新应用程序才能使这项服务正常工作,问题是什么。
什么时候android系统可以使用它的服务,我有时候我应该运行我的一个活动来使服务可用,这是真的吗?
答案 0 :(得分:2)
启动Android 3.1,任何希望接收广播的应用必须在Android向其发送任何广播之前至少运行一次其UI组件(即活动)。这样做是出于安全原因,以防止恶意应用程序自动启动。