我希望这只是一个临时问题,Skype允许自动启动功能。
我需要启动Skype以便它可以接收Skype通话和视频通话,然后启动我的应用。我和老人一起工作很简单。我的应用程序不断运行。
以下代码似乎在BOOT BroadcastReceiver中实现了这一目标。
PackageManager pmi = context.getPackageManager();
String packageName ="com.skype.raider";
context.startActivity(pmi.getLaunchIntentForPackage(packageName));
Log.d("ANDRO_ASYNC",String.format("should launch Skype"));
Intent intent1 = new Intent(context,MyApp.class);
intent1.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent1.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
Bundle bundle = new Bundle();
bundle.putInt("FromBoot",1);
intent1.putExtras(bundle);
try{ // hoping to schedule the start to after Skype has finished
Thread.sleep(20000);
}catch(InterruptedException ex){
Log.d("ANDRO_ASYNC",String.format("error in delay loop"));
}
context.startActivity(intent1);
启动Skype并在启动我的应用程序之前等待20秒进行整理。我的应用程序最终出现在屏幕上(所需的效果)。
然而,对于大多数人来说,它有一个小问题,但对我来说却是一个很大的问题。在第一次Skype通话后,Skype的蓝色欢迎屏幕保持不变,用户必须按下后退按钮。实际上,这会使Skype呼叫的结束取决于它是第一次还是后续呼叫。
问题。
我可以从我的应用关闭Skype吗?
我可以通过我的应用检测到Skype已完成通话吗?