下面是一个使用Android应用程序开始一个Skype通话并在通话结束时关闭Skype的示例代码:
import android.content.Intent;
import android.content.pm.PackageManager;
import android.net.Uri;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import androidx.appcompat.app.AppCompatActivity;
public class MainActivity extends AppCompatActivity {
private static final String SKYPE_PACKAGE = "com.skype.raider";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button startCallButton = findViewById(R.id.start_call_button);
startCallButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
startSkypeCall();
}
});
}
private void startSkypeCall() {
boolean isSkypeInstalled = isPackageInstalled(SKYPE_PACKAGE);
if (isSkypeInstalled) {
Intent skypeIntent = new Intent(Intent.ACTION_VIEW);
skypeIntent.setData(Uri.parse("skype:"));
skypeIntent.setPackage(SKYPE_PACKAGE);
startActivity(skypeIntent);
} else {
// Skype is not installed, handle accordingly
}
}
private boolean isPackageInstalled(String packageName) {
PackageManager packageManager = getPackageManager();
try {
packageManager.getPackageInfo(packageName, 0);
return true;
} catch (PackageManager.NameNotFoundException e) {
return false;
}
}
}
在上面的示例代码中,我们首先创建了一个按钮,当按钮被点击时,调用startSkypeCall()
方法来开始一个Skype通话。在startSkypeCall()
方法中,我们首先检查Skype应用是否已安装,如果已安装,则创建一个Intent
来启动Skype应用并开始通话。如果Skype应用未安装,则可以根据需要处理。
请注意,为了能够在Android应用中启动Skype应用,您需要在AndroidManifest.xml
文件中添加以下权限和intent-filter:
另外,需要确保您的设备上已安装Skype应用,并且您的设备上的Skype应用程序包名称与示例代码中指定的包名称相同(即"com.skype.raider")。如果您的设备上的Skype应用程序包名称不同,可以通过将SKYPE_PACKAGE
常量更改为正确的包名称来进行更改。