从联系人列表中启动应用程序

时间:2014-09-18 08:40:30

标签: android android-contacts launching-application

我正在寻找一种在联系人和Android应用程序之间建立联系的方法。这方面的一个例子是Whatsapp,这个应用程序绑定到一个联系人,并使用数字作为参数启动whatsapp应用程序成为可能。我一直无法找到实现这一目标的方法,并且想知道是否有人在此区域有过期。

非常感谢您的帮助

2 个答案:

答案 0 :(得分:1)

Intent-Filter是要走的路!

在您的AndroidManifest.xml中,您必须告诉Android您的应用可以响应此类意图 例如:

 <application ... >
    <activity ... >
        <intent-filter>
            <action android:name="android.intent.action.SENDTO" />
            <category android:name="android.intent.category.DEFAULT" />
            <category android:name="android.intent.category.BROWSABLE" />
            <data android:scheme="sms" />
            <data android:scheme="smsto" />
        </intent-filter>
    </activity>
</application>

调用时,您的Activity可以访问Intents数据 例如:

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    // get intent-data
    Intent intent = getIntent();
    if (Intent.ACTION_SENDTO.equals(intent.getAction())) {
        Toast.makeText(this, intent.getDataString(), Toast.LENGTH_LONG).show();
    }
    // close activity
    finish();
}

使用此代码,只要其他应用程序(例如“联系人”)触发此类意图,您就可以选择您的应用程序作为接收者 触发此类Intent的示例(来自联系人的屏幕截图):
Screenshot from Contacts

答案 1 :(得分:1)

我没试过,但我希望我的回答能对你有所帮助。

为了澄清,您希望您的应用在Whatsapp应用中位于“Connections”部分:
enter image description here

在这种情况下,您应该使用Account Manager 如果您转到“帐户和同步”中的电话设置,您应该会看到手机上注册的所有自定义帐户: enter image description here

很抱歉,由于没有提供准确的代码段,但我希望这对您有用,并且您可以Google问您的问题(寻找客户经理)。 也许这些链接也对你有用:

create custom account android
Custom Account Type with Android AccountManager