2012-04-20 6 views
2

特定のイベントの通知バーに通知を送信するサービスがあります。この通知では、別のアプリケーションを起動するためにPendingIntentを設定しています。なんらかの理由で、私が通知を処理するとき、他のアプリケーションを起動しません。ここで私はPendingIntentを作成するコードです。PendingIntentがアプリケーションを起動していません

private PendingIntent externalAppStartIntent(LaunchInfo launchInfo) { 
    Intent intent = new Intent(Intent.ACTION_VIEW); 
    intent.setClassName(launchInfo.getPackageName(), launchInfo.getActivityName()); 
    intent.setData(launchInfo.toUri()); 
    intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 

    return PendingIntent.getActivity(this, ZONE_SERVICE_START_EXTERNAL_APP, intent, 
      PendingIntent.FLAG_CANCEL_CURRENT); 
} 

このようなコードでは、通常のインテントを使用してアプリを起動できます。

Intent intent = new Intent(Intent.ACTION_VIEW); 
    intent.setClassName(packageName, activityName); 
    intent.setData(data); 
    try { 
     startActivity(intent); 
    } catch (ActivityNotFoundException e) { 
     ZoneUtils.launchMarketDialog(getActivity(), packageName); 
    } 

私は両方のケースで送信している変数の値が同じであることを確認しました。

私はこのコードが存在する場所以外の別のアプリケーションでアクティビティを起動しようとしています。

EDIT: 他のアプリケーションマニフェストのアクティビティ定義は次のとおりです。

<activity 
     android:name=".ui.GalleryActivity" 
     android:configChanges="orientation"> 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 
      <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 
     <intent-filter> 
      <action android:name="android.intent.action.VIEW" /> 

      <category android:name="android.intent.category.DEFAULT" /> 
      <category android:name="android.intent.category.BROWSABLE" /> 

      <data 
       android:host="join" 
       android:path="/" 
       android:scheme="mgp" /> 
     </intent-filter> 
    </activity> 

EDIT2:ここに は、私はデビッドSuppigerがそれを発見し

04-20 19:05:59.151: I/ActivityManager(193): START {act=android.intent.action.VIEW cmp=com.brockoli.magnet.photoapp/.ui.GalleryFragment bnds=[128,418][720,546]} from pid -1 
+0

対象アクティビティの[権限](http://developer.android.com/reference/android/app/Activity.html#Permissions)を確認しましたか?あなたはそれを始めることが許されていますか? –

+0

私は活動に関する許可を設定していません。私はIntentを起動して、アプリ内の他の場所からActivityを起動することができます。 – brockoli

+0

また、ログにSecurityExceptionもありませんでしたので、そうではないと思います。 – brockoli

答えて

1

通知に基づいて行動するとき私が取得ログです!

私は誤ってGalleryActivityの代わりにGalleryFragmentを渡していました。素晴らしい今作業! Ty

関連する問題