2011-01-26 10 views
0

私はかなり複雑なアプリケーションを手に入れました。これまでのところうまく動作し、すべてがコンテンツプロバイダ、サービス、設定ユーティリティで設定されています。私のウィジェット設定アクティビティを再起動すると、バックグラウンドでアプリケーションが起動されます

今すぐ最初の初期設定後に私のウィジェットを再設定することができます。私の推測では、単に.getActivity()でPendingIntentを使用して、構成アクティビティを再度起動するというものでした。これまでのところうまく動作します!

RemoteViews views = new RemoteViews(context.getPackageName(), R.layout.widget_news_layout); 

    Intent config_intent = new Intent(context.getApplicationContext(), NewsWidgetConfigure.class); 
    config_intent.putExtra(AppWidgetManager.EXTRA_APPWIDGET_ID, mappWidgetId); 
    config_intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 

    PendingIntent conf_penIntent = PendingIntent.getActivity(context, mappWidgetId, config_intent, 
      PendingIntent.FLAG_UPDATE_CURRENT); 

    views.setOnClickPendingIntent(R.id.settings_button, conf_penIntent); 

今...問題は私の構成アクティビティーの何らかの形でリニューアルはその「裏」の後を意味し、後ろから前に全体のアプリをもたらすこと、である - (プレスだけでなく、私のConfiguration.finish後)、ユーザーはホーム画面ではなくアプリに戻ります。

私は、この問題がlaunchModesまたはIntent Flagsと関係があると確信しています...しかし、私は今すぐハングアップすることはできません。

ご協力いただきありがとうございます。

答えて

0

NewsWidgetConfigure.classがfinish()またはNewsWidgetConfigure.classでアプリアクティビティを起動しているように聞こえますが、あなたのアプリはウィジェットからのリクエストであることをアクティビティに伝える方法を見つける必要がありますインテントエキストラまたは共有プリファードのどちらか?)

+2

ねえ...答えに感謝します。どちらもそうではなかった。私は意図的にconfigureユーティリティのonFinishから自分のアプリケーションを起動していませんでしたし、configureアクティビティは私のアプリケーションMainです。 しかし、私は実際にそれを解決した...それは何とかハックだ!私は今、ウィジェットがホームスクリーン上に置かれた後、xml-ウィジェットの設定を通して起動される2つの設定アクティビティを持っています...そして、絶対に同じ(から伸びる)その "launchMode"は "singleInstance"です。 – saberrider

6

設定アクティビティにandroid:allowTaskReparenting="false"android:taskAffinity=""を設定すると問題が解決することがわかりました。

関連する問題