これが一時的な問題であり、Skypeで自動起動機能が許可されていることを願っています。
Skype通話とビデオ通話を受信できるようにSkypeを起動してから、アプリを起動する必要があります。私は高齢者と一緒に仕事をしていますが、そのシンプルさは非常に重要です。私のアプリは継続的に実行されます。
次のコードは、BOOTBroadcastReceiverでこの目標を達成しているようです。
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の通話が終了したことを検出できますか?