Question

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

Was it helpful?

Solution

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
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top