Android,当用户安装应用程序?

时间:2015-02-06 09:18:56

标签: android android-intent broadcastreceiver

我想知道用户何时安装新应用。我使用过广播接收器。

<receiver android:name=".NewInstallReceiver">
    <intent-filter>
        <action android:name="android.intent.action.package_added" />
        <data android:scheme="package" />
    </intent-filter>
</receiver>

代码:

public class NewInstallReceiver extends BroadcastReceiver {
    @Override
    public void onReceive(Context context, Intent intent) {
        String act = intent.getAction();
        Log.e("ee", "new install" + intent);
        if (Intent.ACTION_PACKAGE_ADDED.equals(act) || Intent.ACTION_PACKAGE_REMOVED.equals(act)) {
            /* ContentResolver contentResolver = context.getContentResolver();
            contentResolver.query()*/
        }
    }
}

我从playstore安装应用程序时看不到任何日志。

我应该使用服务吗?如果是,那我怎么能让它运行无限次?

1 个答案:

答案 0 :(得分:2)

我猜你的意图过滤器中有拼写错误,请尝试下面的意图过滤器

<receiver android:name=".NewInstallReceiver">
        <intent-filter>            
        <action android:name="android.intent.action.PACKAGE_ADDED"/>
        <action android:name="android.intent.action.PACKAGE_INSTALL"/>  
        <data android:scheme="package" />
    </intent-filter>
</receiver>