平成30/ 2018-12-19 21:49
ANDROID/SESSION

GCM(プッシュ通知)で受け取った内容を各アクティビティで使いたいときに便利だす。

vi src/biz/simiz/Sess.java
//
package biz.simiz;

public class Sess {
    // Start プロジェクトで共通のインスタンスにする処理(シングルトンパターン)
    private static Sess instance = new Sess();

    private Sess(){}

    public static Sess getInstance() {
        return instance;
    }
    //  End  プロジェクトで共通のインスタンスにする処理(シングルトンパターン)

    private String _GcmMessage = "";

    public void setGcmMessage(String sGcmMessage) {
        this._GcmMessage = sGcmMessage;
    }

    public String getGcmMessage() {
        return _GcmMessage;
    }
}


vi src/biz/simiz/MainActivity.java
//
import biz.simiz.Sess;

public void onStart(){ // アクティブになる度に実行される
    super.onStart();

    Sess objSess = Sess.getInstance();
    String gcm_message = objSess.getGcmMessage();
    if(
    !gcm_message.equals("")
    ){
        objSess.setGcmMessage("");
        final String[] msg = gcm_message.split("\n");
        final AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(this);
            alertDialogBuilder.setMessage(msg[0]);
            alertDialogBuilder.setPositiveButton("YES", new DialogInterface.OnClickListener() {
                @Override
                public void onClick(DialogInterface dialog, int which) {
                    myWebView.loadUrl(msg[1]);
                }
            });
            alertDialogBuilder.setNegativeButton("NO",
                new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialog, int which) {
                    }
                });
            alertDialogBuilder.setCancelable(true);
            AlertDialog alertDialog = alertDialogBuilder.create();
            alertDialog.show();
    }
}


vi src/biz/simiz/GCMIntentService.java
//
import biz.simiz.Sess;

public class GCMIntentService extends GCMBaseIntentService {

    public void generateNotification(Context context, String message) {

        Sess objSess = Sess.getInstance();
        objSess.setGcmMessage(message)



___ Thanks.
【Android開発】グローバル変数的な共通のクラス(Java)
http://se-suganuma.blogspot.jp/2010/02/androidjava.html