لم يتم العثور على أي نشاط للتعامل مع {ACT = Android.Accounts.AccountAuthenticator} على الرغم من أن لدي واحدة

StackOverflow https://stackoverflow.com/questions/3133887

  •  01-10-2019
  •  | 
  •  

سؤال

أحاول أن أجعل طلبي يعرض نشاط تسجيل الدخول الخاص بي عندما يختار المستخدم "إنشاء حساب" في "مزامنة الحسابات" أو يريد استخدام التطبيق ولم يتم تسجيل الدخول بعد. لقد اتبعت المثال samplesyncadapter عن كثب إلى حد ما ، ولكن لا يمكنك تشغيله للعمل وتلقي الاستثناء التالي بدلاً من ذلك:

No Activity found to handle Intent { act=android.accounts.AccountAuthenticator }

خدمتي المصادقة تحتوي على:

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" 
    />

نشاطي الرئيسي:

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() اتصل ، لكنه لا يزال لا يمكن العثور على نشاط لهذه النية. إذا حاولت إضافة حساب عبر الحسابات ومزامنة تعطل طلبي مع نفسه ActivityNotFoundException.

ما الخطأ الذي افعله؟

تعديل
لقد قمت بفحص تطبيق Last.FM الخاص بـ C99 ، والذي يحدد إجراء مخصص ويستخدم النوايا بناءً على هذا الإجراء بدلاً من android.accounts.AccountManager.ACTION_AUTHENTICATOR_INTENT. هل هذا نهج أفضل؟ هل هناك طريقة لجعلها تعمل مع الحسابات والمزامنة؟

هل كانت مفيدة؟

المحلول

في مرشح نيتك وضع <category android:name="android.intent.category.DEFAULT" />

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top