не найдена активность для обработки намерений от приемника - PullRequest
0 голосов
/ 03 июня 2018

Я пытаюсь вызвать диалог на тематическую деятельность с приемника вещания.Моя декларация манифеста выглядит следующим образом:

 <activity android:name=".Views.DialogueActivity"
        android:theme="@android:style/Theme.Dialog">
        <intent-filter>
            <action android:name="com.example.tictactoe.CUSTOM_DIALOGUE" />
        </intent-filter>
    </activity>

Мой получатель широковещательной рассылки:

public class WinReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
    Intent i = new Intent();
    i.setAction("com.example.tictactoe.CUSTOM_DIALOGUE");
    i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    context.startActivity(i);
}}

Моя активность - это деятельность в виде диалога, и я получаю сообщение об ошибке:

FATAL EXCEPTION: main
              Process: com.example.akshay.ticktactoe, PID: 18301
              java.lang.RuntimeException: Unable to start receiver com.example.akshay.ticktactoe.Views.Helpers.WinReceiver: android.content.ActivityNotFoundException: No Activity found to handle Intent { act=com.example.tictactoe.CUSTOM_DIALOGUE flg=0x10000000 }
                  at android.app.ActivityThread.handleReceiver(ActivityThread.java:2586)
                  at android.app.ActivityThread.access$1700(ActivityThread.java:144)
                  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1355)
                  at android.os.Handler.dispatchMessage(Handler.java:102)
                  at android.os.Looper.loop(Looper.java:135)
                  at android.app.ActivityThread.main(ActivityThread.java:5221)
                  at java.lang.reflect.Method.invoke(Native Method)
                  at java.lang.reflect.Method.invoke(Method.java:372)
                  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:899)
                  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694)

В чем проблема?Правильно ли я объявляю действие действия?

1 Ответ

0 голосов
/ 03 июня 2018

Используйте явное Intent: Intent i = new Intent(context, DialogueActivity.class); и удалите строку действия из Intent и <intent-filter> из манифеста.

Используйте <intent-filter>, только если сторонним приложениям требуетсячтобы иметь возможность начать деятельность напрямую.

...