我是Android开发的新手。 我需要构建一个简单的应用程序,在按下按钮后调用另一个应用程序。
更清楚地说明事情。 我需要按下按钮来调用打开全景捕捉应用程序的意图。 我是我的案例360 panorama。
但是,当我提到this文档时,它说我们必须验证该应用是否具有接收意图。我不明白该怎么做。
此外,如果这是可能的..那就是打开360全景,是否有可能一旦我点击我的应用程序中的按钮,捕捉就会自动开始,而不会实际按下360全景中的捕捉按钮?
答案 0 :(得分:1)
要检查设备上安装的活动是否可以接收意图,请使用以下内容:
if (intent.resolveActivity(getPackageManager()) != null) {
startActivity(intent);
} else {
Log.d(TAG, "No activity available to handle Intent.");
}
答案 1 :(得分:0)
我需要按下按钮来调用打开全景图的意图 捕获应用程序我的情况是360全景。
是的,这是可能的。您显然可以打开任何您想要提供的应用程序,您知道它的包名称。在这种情况下,您必须知道360全景应用程序的包名称。所以这很有可能。
你可以这样做,
final Intent intentDeviceTest = new Intent("android.intent.action.MAIN");
intentDeviceTest.setComponent(new ComponentName("fm.last.android","fm.last.android.LastFm"));
startActivity(intentDeviceTest);
这将打开lastfm应用程序。确保您将其包围在 try / catch块中,并检查ActivityNotFoundException
以确保您的应用不会崩溃;如果未安装第三方应用,则会崩溃。
那就是打开360全景,我点击后也可能 我的应用程序中的按钮,捕获自动开始没有 实际按下360 Panorama中的捕捉按钮?
可能性仅取决于第三方应用程序,在这种情况下是360全景图。
它必须能够接收Intent并自动开始捕获并将捕获的图像发送到您onActivityResult()
方法中的应用程序。请务必使用startActivityForResult()
代替startActivity()
这不在你的掌控之中。简单的答案是,如果第三方应用允许这样做,你肯定可以做到,如果没有,那么就没有办法将第三方应用用于此目的。