我希望这只是一个暂时的问题,并且 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 是否已完成通话?