Android
Android

Reputation: 1489

I have issue in BOOT_COMPLETED

NOTE: I have surfing stackoverflow answer before asking this, so don't make it duplicate

I am trying to create app which is run in background mode,there is not any activity in my application, my application should work like After 10 minutes it will check call log and if it was changed from last then it should send call log to server. I have tried with boot_completed intent

 public class BootUpReceiver extends BroadcastReceiver{
    @Override
    public void onReceive(Context context, Intent intent) {
        Log.d("schedulereceiver", "starting schedule");
    }
}

and i have declare receiver like

 <receiver
            android:name="com.ixo.BootUpReceiver"
            android:enabled="true" android:exported="false"
            android:permission="android.permission.RECEIVE_BOOT_COMPLETED" >
            <intent-filter>
                <action android:name="android.intent.action.BOOT_COMPLETED" />
                <category android:name="android.intent.category.DEFAULT" />
            </intent-filter>
  </receiver>

I have added permission

 <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />

I want to clear, I am testing on 4.2 version, and its nexus tablet, hope it is not creating problems

if I am checking log

> 02-26 12:31:10.809: W/ActivityManager(478): No content provider found
> for permission revoke: file:///data/local/tmp/Tracker.apk 

02-26 12:31:10.809: I/PackageManager(478): Copying native libraries to
> /data/app-lib/vmdl1018712645 

02-26 12:31:10.889: D/dalvikvm(478): GC_CONCURRENT freed 1347K, 13% free 13294K/15184K, paused 3ms+7ms, total 62ms 02-26 12:31:10.889: I/PackageManager(478): Removing non-system package:com.ixo.tracker 

02-26 12:31:10.899: I/ActivityManager(478): Force stopping package com.ixo.tracker appid=10100 user=-1 

02-26 12:31:10.989: I/PackageManager(478): Running dexopt on: com.ixo.tracker 

02-26 12:31:10.989: I/PackageManager(478): Package com.ixo.tracker codePath changed from
/data/app/com.ixo.tracker-2.apk to /data/app/com.ixo.tracker-1.apk; Retaining data and using new 

02-26 12:31:11.049: D/dalvikvm(2434): DexOpt: 'Landroid/annotation/SuppressLint;' has an earlier definition; blocking out

Update

some time I am getting log like

02-26 13:42:22.139: E/InstalledAppDetails(6171): Exception when retrieving package:com.ixo.tracker
02-26 13:42:22.139: E/InstalledAppDetails(6171): android.content.pm.PackageManager$NameNotFoundException: com.ixo.tracker
02-26 13:42:22.139: E/InstalledAppDetails(6171):    at android.app.ApplicationPackageManager.getPackageInfo(ApplicationPackageManager.java:80)
02-26 13:42:22.139: E/InstalledAppDetails(6171):    at com.android.settings.applications.InstalledAppDetails.retrieveAppEntry(InstalledAppDetails.java:621)
02-26 13:42:22.139: E/InstalledAppDetails(6171):    at com.android.settings.applications.InstalledAppDetails.refreshUi(InstalledAppDetails.java:640)
02-26 13:42:22.139: E/InstalledAppDetails(6171):    at com.android.settings.applications.InstalledAppDetails.onActivityResult(InstalledAppDetails.java:534)
02-26 13:42:22.139: E/InstalledAppDetails(6171):    at android.app.Activity.dispatchActivityResult(Activity.java:5297)
02-26 13:42:22.139: E/InstalledAppDetails(6171):    at android.app.ActivityThread.deliverResults(ActivityThread.java:3315)
02-26 13:42:22.139: E/InstalledAppDetails(6171):    at android.app.ActivityThread.handleSendResult(ActivityThread.java:3362)
02-26 13:42:22.139: E/InstalledAppDetails(6171):    at android.app.ActivityThread.access$1100(ActivityThread.java:141)
02-26 13:42:22.139: E/InstalledAppDetails(6171):    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1282)
02-26 13:42:22.139: E/InstalledAppDetails(6171):    at android.os.Handler.dispatchMessage(Handler.java:99)
02-26 13:42:22.139: E/InstalledAppDetails(6171):    at android.os.Looper.loop(Looper.java:137)
02-26 13:42:22.139: E/InstalledAppDetails(6171):    at android.app.ActivityThread.main(ActivityThread.java:5041)
02-26 13:42:22.139: E/InstalledAppDetails(6171):    at java.lang.reflect.Method.invokeNative(Native Method)
02-26 13:42:22.139: E/InstalledAppDetails(6171):    at java.lang.reflect.Method.invoke(Method.java:511)
02-26 13:42:22.139: E/InstalledAppDetails(6171):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
02-26 13:42:22.139: E/InstalledAppDetails(6171):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
02-26 13:42:22.139: E/InstalledAppDetails(6171):    at dalvik.system.NativeStart.main(Native Method)
02-26 13:42:22.169: W/AppSecurityPermissions(6171): Couldn't retrieve permissions for package:com.ixo.tracker

UPDATE

if it is not working in 3.1 and above, is there any alternative to develop above.

Upvotes: 3

Views: 1929

Answers (1)

Gabe Sechan
Gabe Sechan

Reputation: 93708

As a security fix, new versions of Android will not allow a BroadcastReceiver to receive BOOT_COMPLETE until it has been launched by the user- which requires there to be an activity that they launch. It's annoying, but you'll have to add an activity of some sort.

Upvotes: 2

Related Questions