I hope anyone can help me. I am using VNC server
on an Android
stick on which I am developing, because I don't want it to be connected with a display at all time. The problem is that now and then the VNC
app force closes. Without a display i am forced to restart the whole stick since it auto starts. Now my question, is it possible to restart the VNC
server from adb
?
The log cat
at restart looks like this:
02-28 19:27:32.958: I/ActivityManager(270): Start proc com.schumi.vncs for broadcast com.schumi.vncs/.StartServiceAtBootReceiver: pid=1149 uid=10075 gids={3003, 1028}
02-28 19:27:33.138: V/VNCserver(1149): copy -> /data/data/com.schumi.vncs/files/android_vncs
02-28 19:27:33.328: V/VNCserver(1149): Starting /data/data/com.schumi.vncs/files/android_vncs -p 0987654321 -r 0 -s 100 -P 5901 -i enable
02-28 19:37:40.388: E/AndroidRuntime(1149): at com.schumi.vncs.ServerManager$SocketListener.run(ServerManager.java:283)
02-28 19:37:43.228: I/ActivityManager(270): Process com.schumi.vncs (pid 1149) has died.
The Android Manifest
of the VNC Server
looks like this
<?xml version="1.0" encoding="utf-8"?>
<manifest
xmlns:android="http://schemas.android.com/apk/res/android"
android:versionCode="12"
android:versionName="1.0.5"
package="com.schumi.vncs">
<uses-permission
android:name="com.android.vending.BILLING"/>
<application
android:label="@2131165185"
android:icon="@2130837514"
android:name="MainApplication">
<activity
android:label="@2131165185"
android:icon="@2130837514"
android:name=".VNC_serverActivity"
android:launchMode="singleInstance">
<intent-filter>
<action
android:name="android.intent.action.MAIN"/>
<category
android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
<intent-filter>
<action
android:name="com.schumi.vncs.ACTIVITY_UPDATE"/>
<category
android:name="android.intent.category.DEFAULT"/>
</intent-filter>
</activity>
<activity
android:name="Settings"/>
<activity
android:name="Status"/>
<activity
android:name="Donate"/>
<activity
android:name="com.google.ads.AdActivity"
android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize"/>
<service
android:name=".ServerManager">
<intent-filter>
<action
android:name="com.schumi.vncs.ServerManager"/>
<category
android:name="android.intent.category.DEFAULT"/>
</intent-filter>
</service>
<receiver
android:name=".StartServiceAtBootReceiver">
<intent-filter>
<action
android:name="android.intent.action.BOOT_COMPLETED"/>
<category
android:name="android.intent.category.HOME"/>
</intent-filter>
</receiver>
<service
android:name="com.schumi.vncs.BillingService"/>
<receiver
android:name="com.schumi.vncs.BillingReceiver">
<intent-filter>
<action
android:name="com.android.vending.billing.IN_APP_NOTIFY"/>
<action
android:name="com.android.vending.billing.RESPONSE_CODE"/>
<action
android:name="com.android.vending.billing.PURCHASE_STATE_CHANGED"/>
</intent-filter>
</receiver>
</application>
<uses-permission
android:name="android.permission.WRITE_SETTINGS"/>
<uses-permission
android:name="android.permission.READ_FRAME_BUFFER"/>
<uses-permission
android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
<uses-permission
android:name="android.permission.ACCESS_SUPERUSER"/>
<uses-permission
android:name="android.permission.ACCESS_WIFI_STATE"/>
<uses-permission
android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission
android:name="android.permission.INTERNET"/>
<uses-permission
android:name="android.permission.GET_TASKS"/>
<uses-permission
android:name="android.permission.READ_PHONE_STATE"/>
<uses-permission
android:name="android.permission.WAKE_LOCK"/>
<uses-sdk
android:minSdkVersion="7"/>
</manifest>
Could anyone please help me, it would be much more convenient to execute a batch file rather than restart the whole device
Regards Phil
I found the answer myself. It was actually quite simple.
adb shell am broadcast -a android.intent.action.BOOT_COMPLETED -n com.schumi.vncs/.StartServiceAtBootReceiver