2017-12-08 19 views
0

こんにちは私は、ボタン付きのカスタム通知を持つアプリケーションを持っています。今私は、放送受信機が通知のボタン押下を受信したことを検出することができました。しかし私の考えは、ユーザーがボタンの1つを押すと、CropImage.startPickImageActivityを開始し、Android Image Cropper Libraryを使用しています。ブロードキャスト受信者から画像アクティビティを選択して開始

しかし、毎回、通知からボタンを押して画像選択アクティビティを開始しようとします。私のアプリがクラッシュする、誰がなぜこれが起きているのか、何が間違っているのかを伝えることはできますか?

これは私の放送受信のための私のコードです:任意の助けの人たちのために事前に

public class NotificationReceiver extends BroadcastReceiver { 


@Override 
public void onReceive(Context context, Intent intent) { 

    String action = intent.getAction(); 

    if (action.equals("btn2")){ 
     CropImage.startPickImageActivity((Activity) context); 
    } 
    } 

} 

ありがとう! :D

答えて

0

これはアクティビティのコンテキストをアクティビティにダウンカストすることはできません。アクティビティではないからです。 この行を変更してください。

CropImage.startPickImageActivity((Activity) context); 

解決策はこの問題の可能性があります。

  • バックグラウンドシナリオとフォアグランドシナリオの両方を処理する場合は、次に、放送受信機からアクティビティを開く必要があります。そして、それはonCreate()でデータを渡すことができ、うまくいけばクロッパーも開くことができます。

  • 第2に、クロッターアクティビティをインテントで直接開くことができます(アクティビティの場合のみ)。あなたがそれから戻る結果を必要としない場合は、それを直接開くことができます。 そうだと思います。どうも 。

+0

お返事ありがとうございました。本当に私の洞察力と私の問題に近づくためのより良い方法を与えました。余分な説明のためのupvote:D –

+0

Thx。幸せなコーディング。 – ADM

関連する問題