タグ付けされた質問 「android-pendingintent」


9
アクティビティの外部からstartActivity()を呼び出していますか?
を使用しAlarmManagerて、シグナルをブロードキャストするインテントをトリガーしています。以下は私のコードです: AlarmManager mgr = (AlarmManager) getSystemService(Context.ALARM_SERVICE); Intent i = new Intent(this, Wakeup.class); try { PendingIntent pi = PendingIntent.getBroadcast(this, 0, i, 0); Long elapsed += // sleep time; mgr.set(AlarmManager.RTC_WAKEUP, elapsed, pi); } catch(Exception r) { Log.v(TAG, "RunTimeException: " + r); } 私はからこのコードを呼び出しているActivityので、次のエラーがどのように発生するのかわかりません... ERROR/AndroidRuntime(7557): java.lang.RuntimeException: Unable to start receiver com.wcc.Wakeup: android.util.AndroidRuntimeException: Calling …

6
通知は古いインテントエクストラを渡します
次のコードを使用してBroadcastReceiver内に通知を作成しています。 String ns = Context.NOTIFICATION_SERVICE; NotificationManager mNotificationManager = (NotificationManager) context.getSystemService(ns); int icon = R.drawable.ic_stat_notification; CharSequence tickerText = "New Notification"; long when = System.currentTimeMillis(); Notification notification = new Notification(icon, tickerText, when); notification.defaults |= Notification.DEFAULT_VIBRATE; long[] vibrate = {0,100,200,200,200,200}; notification.vibrate = vibrate; notification.flags |= Notification.FLAG_AUTO_CANCEL; CharSequence contentTitle = "Title"; CharSequence contentText = …

8
インテント-アクティビティが実行されている場合は、それを前面に表示します。それ以外の場合は、(通知から)新しいアクティビティを開始します
私のアプリには通知があります-明らかに-フラグなしで毎回新しいアクティビティを開始するので、複数の同じアクティビティが互いに重なり合って実行されますが、これは間違っています。 私がしたいことは、通知が保留中のインテントで指定されたアクティビティを、すでに実行されている場合は最前面に移動し、そうでない場合はそれを開始することです。 これまでのところ、私が持っているその通知の意図/保留中の意図は private static PendingIntent prepareIntent(Context context) { Intent intent = new Intent(context, MainActivity.class); intent.setFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT); return PendingIntent.getActivity(context, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT); } 奇妙なことに、うまくいくこともあれば、うまくいかないこともあります...フラグのすべての組み合わせをすでに試したような気がします。

3
PendingIntentはIntentエキストラを送信しません
私MainActicity はRefreshServiceと呼ばれるエキストラIntentがあるで始まります。booleanisNextWeek 私RefreshServiceは、ユーザーがクリックしたときにNotification開始MainActivityするを作成します。 これは次のようになります。 Log.d("Refresh", "RefreshService got: isNextWeek: " + String.valueOf(isNextWeek)); Intent notificationIntent = new Intent(this, MainActivity.class); notificationIntent.putExtra(MainActivity.IS_NEXT_WEEK, isNextWeek); Log.d("Refresh", "RefreshService put in Intent: isNextWeek: " + String.valueOf(notificationIntent.getBooleanExtra(MainActivity.IS_NEXT_WEEK,false))); pendingIntent = PendingIntent.getActivity(this, 0, notificationIntent, 0); builder = new NotificationCompat.Builder(this).setContentTitle("Title").setContentText("ContentText").setSmallIcon(R.drawable.ic_notification).setContentIntent(pendingIntent); notification = builder.build(); // Hide the notification after its selected notification.flags |= …

5
PendingIntentで使用される「requestCode」は何ですか?
バックグラウンド: AlarmManager経由のアラームにPendingIntentを使用しています。 問題: 最初は、以前のものをキャンセルするために、アラームを開始する前に使用した正確なrequestCodeを提供する必要があると思いました。 しかし、キャンセルAPIが言うように、私は間違っていることがわかりました。 インテントが一致するアラームを削除します。(filterEquals(Intent)で定義されているように)Intentがこのアラームと一致する任意のタイプのアラームはキャンセルされます。 「filterEquals」を見て、ドキュメントは言う: インテント解決(フィルタリング)の目的で、2つのインテントが同じかどうかを判断します。つまり、アクション、データ、タイプ、クラス、およびカテゴリーが同じである場合です。これは、インテントに含まれる追加データを比較しません。 「requestCode」が何のためにあるのかわかりません... 質問: 「requestCode」は何に使用されますか? 同じ「requestCode」で複数のアラームを作成するとどうなりますか?それらは互いに上書きしますか?

13
PresidentingIntentは最初の通知では正しく機能しますが、残りの通知では正しく機能しません
protected void displayNotification(String response) { Intent intent = new Intent(context, testActivity.class); PendingIntent pendingIntent = PendingIntent.getActivity(context, 0, intent, Intent.FLAG_ACTIVITY_NEW_TASK); Notification notification = new Notification(R.drawable.icon, "Upload Started", System.currentTimeMillis()); notification.setLatestEventInfo(context, "Upload", response, pendingIntent); nManager.notify((int)System.currentTimeMillis(), notification); } この関数は複数回呼び出されます。notificationクリックすると、それぞれがtestActivityを起動したいと思います。残念ながら、最初の通知のみがtestActivityを起動します。残りをクリックすると、通知ウィンドウが最小化されます。 追加情報:関数displayNotification()はUploadManager。というクラスにあります。 インスタンス化ContextするUploadManagerからに渡されactivityます。関数displayNotification()は、UploadManagerでも、で実行されている関数から複数回呼び出されますAsyncTask。 編集1:文字列応答をIntent intentとしてに渡していることを忘れましたextra。 protected void displayNotification(String response) { Intent intent = new Intent(context, testActivity.class); intent.putExtra("response", …
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.