質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

Android Studio

Android Studioは、 Google社によって開発された、 Androidのネイティブアプリケーション開発に特化した統合開発ツールです。

Q&A

0回答

1897閲覧

プッシュ通知のダイアログが表示されない

rain_sun

総合スコア12

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

Android Studio

Android Studioは、 Google社によって開発された、 Androidのネイティブアプリケーション開発に特化した統合開発ツールです。

0グッド

0クリップ

投稿2017/03/08 09:11

###前提・実現したいこと

niftyのNCMBでプッシュ通知+ダイアログ表示させたい

###発生している問題・エラーメッセージ
ダイアログが表示されない

###MainActivity.java

Java

1package 省略 2 3public class MainActivity extends AppCompatActivity { 4 5 @Override 6 protected void onCreate(Bundle savedInstanceState) { 7 super.onCreate(savedInstanceState); 8 NCMB.initialize(this.getApplicationContext(),"1d921031cd2eafbb4bee9e8c1f4cb9fe6362aa60fed76b26ea5a45422a75322d","101d59e5407be5f96ea5d26d9e75b96f4f68dcb9ce5a716e83979e35e622b853"); 9 NCMBObject obj = new NCMBObject("TestClass"); 10 NCMBPush push = new NCMBPush(); 11 12 push.setDialog(true); 13 14// オブジェクトの値を設定 15 obj.put("message", "Hello, NCMB!"); 16 17// データストアへの登録 18 obj.saveInBackground(new DoneCallback() { 19 @Override 20 public void done(NCMBException e) { 21 if(e != null){ 22 //保存に失敗した場合の処理 23 Log.d("","ng"); 24 }else { 25 //保存に成功した場合の処理 26 Log.d("","ok"); 27 } 28 } 29 }); 30 31 final NCMBInstallation installation = NCMBInstallation.getCurrentInstallation(); 32 33//FCMからRegistrationIdを取得しinstallationに設定する 34 installation.getRegistrationIdInBackground("130067195225", new DoneCallback() { 35 @Override 36 public void done(NCMBException e) { 37 if (e == null) { 38 39 installation.put("test", "japan"); 40 installation.saveInBackground(new DoneCallback() { 41 @Override 42 public void done(NCMBException e) { 43 if(e == null){ 44 //保存成功 45 }else if(NCMBException.DUPLICATE_VALUE.equals(e.getCode())){ 46 //保存失敗 : registrationID重複 47 updateInstallation(installation); 48 }else { 49 //保存失敗 : その他 50 } 51 } 52 }); 53 } else { 54 //ID取得失敗 55 Log.d("","ng2"); 56 } 57 } 58 }); 59 // setContentView(R.layout.activity_main); 60 } 61 62 @Override 63 public void onResume() { 64 super.onResume(); 65 66 //リッチプッシュ通知の表示 67 NCMBPush.richPushHandler(this, getIntent()); 68 69 //リッチプッシュを再表示させたくない場合はintentからURLを削除します 70 getIntent().removeExtra("com.nifty.RichUrl"); 71 } 72 73 74 public static void updateInstallation(final NCMBInstallation installation) { 75 76 //installationクラスを検索するクエリの作成 77 NCMBQuery<NCMBInstallation> query = NCMBInstallation.getQuery(); 78 79 //同じRegistration IDをdeviceTokenフィールドに持つ端末情報を検索する 80 query.whereEqualTo("deviceToken", installation.getDeviceToken()); 81 82 //データストアの検索を実行 83 query.findInBackground(new FindCallback<NCMBInstallation>() { 84 @Override 85 public void done(List<NCMBInstallation> results, NCMBException e) { 86 87 //検索された端末情報のobjectIdを設定 88 installation.setObjectId(results.get(0).getObjectId()); 89 90 //端末情報を更新する 91 installation.saveInBackground(); 92 } 93 }); 94 } 95 96}

#MyCustumService.java

package com.example.innovation.test0224; import 省略 public class MyCustomService extends NCMBGcmListenerService { //ダイアログ表示の設定を保持する static NCMBDialogPushConfiguration dialogPushConfiguration = new NCMBDialogPushConfiguration(); @Override public void onMessageReceived(String from, Bundle data) { //ダイアログ表示のタイプを選択 dialogPushConfiguration.setDisplayType(NCMBDialogPushConfiguration.DIALOG_DISPLAY_DIALOG); //ダイアログ表示のハンドリング NCMBPush.dialogPushHandler(this, data, dialogPushConfiguration); } }

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問