this app will run on startup and monitor clipboard for changes and do somthings ;)
but it not run on startup :(
I search whole web for solution but I can't fix it.
This is AndroidManifest.xml content:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.TB.Zedit"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="11"
android:targetSdkVersion="19" />
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@android:style/Theme.Light.NoTitleBar" >
<activity
android:name="com.TB.Zedit.ActMain"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.SEND" />
<category android:name="android.intent.category.DEFAULT" />
<data android:mimeType="text/*" />
</intent-filter>
</activity>
<receiver android:name=".service_starter" android:enabled="true">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
</intent-filter>
</receiver>
<service android:name=".clipboard_monitor"></service>
</application>
I want to my app run on startup and create a service but nothing happen
my app not run with no error; I'm really confused
this is my service_starter
code
package com.TB.Zedit;
import android.content.BroadcastReceiver;
import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
import android.util.Log;
public class service_starter extends BroadcastReceiver
{
@Override
public void onReceive(Context context, Intent intent)
{
if (intent.getAction().equals(Intent.ACTION_BOOT_COMPLETED))
{
ComponentName clipboard_monitor_service=context.startService(new Intent("com.TB.Zedit.clipboard_monitor"));
if (clipboard_monitor_service==null)
{
Log.e("Zedit", "unable to start service");
}
else
{
Log.e("Zedit", "service STARTED");
}
}
}
}
catlog
10-07 03:30:59.280: D/asset(1177): failed to open Zip archive '/data/app/com.TB.Zedit-2.apk'
10-07 03:30:59.280: W/PackageParser(1177): Unable to read AndroidManifest.xml of /data/app/com.TB.Zedit-2.apk
10-07 03:30:59.300: W/PackageSettings(1177): Skipping PackageSetting{b300fd20 com.TB.Zedit/10054} due to missing metadata
10-07 03:30:59.620: W/PackageSettings(1177): Skipping PackageSetting{b300fd20 com.TB.Zedit/10054} due to missing metadata
10-07 03:31:08.090: W/ActivityManager(1177): No content provider found for permission revoke: file:///data/local/tmp/Zedit.apk
10-07 03:31:08.090: W/ActivityManager(1177): No content provider found for permission revoke: file:///data/local/tmp/Zedit.apk
10-07 03:31:08.200: I/PackageManager(1177): Running dexopt on: com.TB.Zedit
10-07 03:31:08.200: I/PackageManager(1177): Package com.TB.Zedit codePath changed from /data/app/com.TB.Zedit-2.apk to /data/app/com.TB.Zedit-1.apk; Retaining data and using new
10-07 03:31:08.310: I/ActivityManager(1177): Force stopping com.TB.Zedit appid=10054 user=-1: update pkg
10-07 03:31:08.310: W/PackageManager(1177): Code path for pkg : com.TB.Zedit changing from /data/app/com.TB.Zedit-2.apk to /data/app/com.TB.Zedit-1.apk
10-07 03:31:08.310: W/PackageManager(1177): Resource path for pkg : com.TB.Zedit changing from /data/app/com.TB.Zedit-2.apk to /data/app/com.TB.Zedit-1.apk
10-07 03:31:08.470: D/BackupManagerService(1177): Received broadcast Intent { act=android.intent.action.PACKAGE_ADDED dat=package:com.TB.Zedit flg=0x4000010 (has extras) }
i sloved this problem
for recive ON_BOOT_COMPLETED by an app, app must have 2 feature:
1: app must have at least one activity
2: app must run with user at least for one time