4

我的申请有问题。我想通过意图从我的应用程序启动 connectbot,如果我的活动开始,我也想启动 connectbot。如何从我的活动中意图连接机器人应用程序,请回答我的问题。谢谢...

4

1 回答 1

6

ConnectBot 的 AndroidManifest 具有以下意图过滤器:

<intent-filter>
  <action android:name="android.intent.action.VIEW" />
  <category android:name="android.intent.category.DEFAULT" />
  <category android:name="android.intent.category.BROWSABLE" />
  <data android:scheme="ssh" />
  <data android:scheme="telnet" />
  <data android:scheme="local" />
  <!-- format:  ssh://user@host:port/#nickname  -->
  <!-- format:  telnet://host:port/#nickname  -->
  <!-- format:  local://  -->
</intent-filter>

这意味着您可以使用以下操作引发 Intent 以启动 ConnectBot 并打开 ConsoleActivity。ConsoleActivity 不对 Uri 做任何事情,因此您可以使用以“ssh://”开头的任何内容:

startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("ssh://user@host:port/#nickname")));

ConnectBot 还响应 ACTION_PICK 打开配置连接列表。ACTION_PICK 实际上会解析给定的 uri 并打开昵称,但前提是用户、主机和端口也是正确的。

于 2012-06-22T20:38:24.983 回答