我正在寻找一种在联系人和Android应用程序之间建立联系的方法。这方面的一个例子是Whatsapp,这个应用程序绑定到一个联系人,并使用数字作为参数启动whatsapp应用程序成为可能。我一直无法找到实现这一目标的方法,并且想知道是否有人在此区域有过期。
非常感谢您的帮助
答案 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的示例(来自联系人的屏幕截图):
答案 1 :(得分:1)
我没试过,但我希望我的回答能对你有所帮助。
为了澄清,您希望您的应用在Whatsapp应用中位于“Connections”部分:
在这种情况下,您应该使用Account Manager 如果您转到“帐户和同步”中的电话设置,您应该会看到手机上注册的所有自定义帐户:
很抱歉,由于没有提供准确的代码段,但我希望这对您有用,并且您可以Google问您的问题(寻找客户经理)。 也许这些链接也对你有用:
create custom account android
Custom Account Type with Android AccountManager