2016-08-11 16 views
1

私はMIMEタイプのテキスト/プレーンのインテントを他のアプリケーションから取得し、そのテキストをstring型の変数に格納しようとしています。それは、のonCreateメソッドから正常に動作しますが、私はlaunchmodeとしてsingleTaskを使用し、(ホームボタンを押すことで)アプリを一時停止し、私のアプリに他のアプリからテキストを共有しようとすると、onNewIntent(テントの意図)方法があるなっていますintent.getType()はnullを返していますが、同じことがから作成されています。メソッドを作成すると、なぜ分かりませんか、助けてください。おかげintent.getType()onNewIntent(インテントインテント)メソッドでnullを返す

private String sharedData=""; 
@Override 
protected void onNewIntent(Intent intent) { 

    intent = getIntent(); 
    String action = intent.getAction(); 

    String type = intent.getType(); //this method is returning null 

    if(intent.ACTION_SEND.equals(action) && type!=null) 
    { 
     sharedData = FileHandler.handleSendText(intent);//FileHandler is class i created with contains method handleSendText 
    } 

    super.onNewIntent(intent); 
} 

答えて

1

コールintent = getIntent();はあなたの活動に提供元intentを返します。したがって、nullにする必要があります。この行を削除してみてください。

+0

はい、元の意図とはどういう意味ですか?もっと説明できますか?ありがとう – TejaReddy

+0

アクティビティが開始されるたびに、新しいインテントが提供されます。このインテントは、アプリケーションが最初に起動されたときに基本的に初期化される 'getIntent()'によって取得できます。あなたのケースでは、あなたは 'onNewIntent()'を呼び出しているので、更新されたインテントは 'getIntent()'ではなくメソッドの引数でのみ提供されるべきです。 – Shaishav

+0

意味があります。ありがとう。 – TejaReddy

関連する問題