You can use the 'adb shell am start' with arguments you will need to look up to start your newly installed package.
If there's any concern about not being confused by a stale one, adb uninstall the old one before installing the new one, or better yet have your splash activity display versioning.
You can actually use am start to launch an activity which isn't known to the launcher, so you could use it to launch directly to an "about" activity which would display the current version. Your choice if you make that available in the ordinary course of the application, or only use it this one time as a splash.
You should also be able to parse the output of the adb install command - you'll have to see if it sends errors / success to stderr or stdout.
UPDATE: Here's how to make an activity which you can use to turn the screen on and display a message, like this:
adb shell 'am start -n com.example.testreport/.ReportActivity -e result PASS'
The code is heavily cribbed from the built in AlarmClock of an early android version, it will require:
<uses-permission android:name="android.permission.WAKE_LOCK"/>
in the manifest
package com.example.testreport;
import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.os.PowerManager;
import android.util.Log;
import android.view.Gravity;
import android.view.WindowManager;
import android.view.WindowManager.LayoutParams;
import android.widget.TextView;
public class ReportActivity extends Activity {
PowerManager.WakeLock sScreenWakeLock;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(android.view.Window.FEATURE_NO_TITLE);
getWindow().addFlags(WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED);
}
protected void onStart() {
super.onStart();
if (sScreenWakeLock == null) {
PowerManager pm =
(PowerManager) getSystemService(Context.POWER_SERVICE);
sScreenWakeLock = pm.newWakeLock(
PowerManager.FULL_WAKE_LOCK |
PowerManager.ACQUIRE_CAUSES_WAKEUP |
PowerManager.ON_AFTER_RELEASE, "ReportActivity Wakelock");
sScreenWakeLock.acquire();
}
TextView tv=new TextView(this);
tv.setTextSize(30);
tv.setGravity(Gravity.CENTER);
Intent i = getIntent();
if ((i != null) && (i.hasExtra("result")))
tv.setText(i.getStringExtra("result"));
else
tv.setText("???");
setContentView(tv);
}
protected void onStop() {
if (sScreenWakeLock != null) {
sScreenWakeLock.release();
sScreenWakeLock = null;
}
super.onStop();
}
}
It can probably use some cleanup and improvement; for example at the moment you can't turn the phone off with the power button unless you first stop the activity by navigating away to make it lose visibility.