gpt4 book ai didi

android - 没有找到处理 Intent { act=android.accounts.AccountAuthenticator } 的 Activity ,即使我有一个

转载 作者:太空宇宙 更新时间:2023-11-03 11:41:30 25 4
gpt4 key购买 nike

当用户在“帐​​户和同步”中选择“添加帐户”或想要使用该应用程序时,我试图让我的应用程序显示我的登录 Activity 尚未登录。我按照这个例子 SampleSyncAdapter相当接近,但无法让它工作并收到以下异常:

找不到处理 Intent { act=android.accounts.AccountAuthenticator }

的 Activity

我的授权服务包含:

public IBinder onBind(Intent intent) {
IBinder ret = null;
if (intent.getAction().equals(android.accounts.AccountManager.ACTION_AUTHENTICATOR_INTENT)){
ret = getAuthenticator().getIBinder();
}
return ret;
}

我的AndroidManifest.xml:

<service android:name=".auth.MyAuthService"
android:exported="true"
android:process=":auth">
<intent-filter>
<action android:name="android.accounts.AccountAuthenticator" />
</intent-filter>

<meta-data android:name="android.accounts.AccountAuthenticator"
android:resource="@xml/authenticator"
/>

我的主要 Activity :

startActivity(new Intent(android.accounts.AccountManager.ACTION_AUTHENTICATOR_INTENT));

我都试过:

Intent svc = new Intent(this, CreazaAuthService.class);
startService(svc);

和:

bindService(new Intent(android.accounts.AccountManager.ACTION_AUTHENTICATOR_INTENT), null, BIND_AUTO_CREATE);

startActivity() 调用之前,但它仍然找不到该 Intent 的 Activity 。如果我尝试通过 accounts&sync 添加帐户,我的应用程序会因相同的 ActivityNotFoundException 而崩溃。

我做错了什么?

编辑
我检查了 c99 的 last.fm 应用程序,它定义了一个自定义操作并使用基于该操作而不是 android.accounts.AccountManager.ACTION_AUTHENTICATOR_INTENT 的 Intent 。这是更好的方法吗?有没有办法让它与 Accounts & Sync 一起使用?

最佳答案

在您的 Intent 过滤器中放置 <category android:name="android.intent.category.DEFAULT" />

关于android - 没有找到处理 Intent { act=android.accounts.AccountAuthenticator } 的 Activity ,即使我有一个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3133887/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com