Взаимодействие с приложением Market приводит к ошибкам фокусировки окна - PullRequest
0 голосов
/ 22 августа 2011

У меня странная проблема, я хочу запустить на рынок из своего приложения - я делаю следующее.

 Intent marketIntent = new Intent(Intent.ACTION_VIEW, Uri.parse(
             "market://details?id=" + activity.getPackageName()));

    try {
        activity.startActivity(marketIntent);
    } catch (ActivityNotFoundException e) {
        Toast.makeText(activity, "Could not launch market", Toast.LENGTH_LONG).show();
    }

Однако, когда пользователь может снова нажать Open, когда он это делаетчто я получаю:

08-22 15:18:37.510: INFO/ActivityManager(260): Starting: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10000000 pkg=com.xyz.appname cmp=com.xyz.appname/.mainapp } from pid 22853
08-22 15:18:37.590: INFO/ActivityManager(260): Starting: Intent { cmp=com.xyz.appname/.secondactivity } from pid 25735
08-22 15:18:37.590: WARN/InputManagerService(260): Window already focused, ignoring focus gain of: com.android.internal.view.IInputMethodClient$Stub$Proxy@2b49a938

, и оно никогда не открывает приложение, они просто застряли там - ответный удар работает.Отслеживая код, предупреждение приходит от этого в mainapp:

Intent tabActivity = new Intent();
    tabActivity.setClass(this, secondactivity.class);
startActivity(tabActivity);
this.finish();  

1 Ответ

0 голосов
/ 22 августа 2011

Это определенно похоже на проблему с тем, как он перезапускается - вы на правильном пути с этим последним битом кода.

Этот флаг выглядит как то, что вам нужно сказать Android, чтобы он вытянул существующую активностьиз стека истории и повторно используйте его:

FLAG_ACTIVITY_SINGLE_TOP

В качестве альтернативы (если вы хотите перезапустить, а не возобновить), возможно, вы могли бы намекнуть Android, чтобы перезапустить активность после перехода, используя этос вашим намерением:

intent.addFlags(Intent.FLAG_ACTIVITY_NO_HISTORY);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...