0

停止したアプリケーションでブロードキャスト(SMS通知など)を受信する方法はありますか?実際には、Android3.1よりも低いレベルで動作します。

編集1:コメントをくれた@Squonkに感謝します。だから私の質問は、それは本当に不可能ですか?あなたはこのことをする市場でPlanBアプリをチェックすることができます。

編集2:これは私の放送受信機です。onReceive関数が呼び出されることはありません(アプリケーションが停止している場合)。

public class SmsReciever extends BroadcastReceiver {

    @Override
    public void onReceive(Context arg0, Intent arg1) {
        Log.e("kpav", "kpav");
        String url = "http://www.google.com";
        Intent i = new Intent(Intent.ACTION_VIEW);
        i.addFlags(Intent.FLAG_ACTIVITY_MULTIPLE_TASK);
        i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
        i.addFlags(32);
        i.setData(Uri.parse(url));

        arg0.startActivity(i);
    }
}
4

2 に答える 2

1

ブロードキャストインテントに次のフラグを追加するだけで、ストップドパッケージを含めてブロードキャストを受信できます。

intent.addFlags(32);

ここで、 APIレベル12から利用できるものを32指します。Intent.FLAG_INCLUDE_STOPPED_PACKAGES

于 2012-06-12T07:44:27.467 に答える
1

Android v3.1以降では、ユーザーが少なくとも1回手動で起動したアプリは、再起動後もマニフェストに登録されたブロードキャストを受信します。

ただし、ユーザーはそのアプリを手動で起動している必要があります。アプリをインストールして、それ以外の場合は自動的にブロードキャストを受信することはできません。

また、ユーザーがデバイスの設定から手動で[強制停止]を使用した場合、ユーザーが手動でアプリを再起動するまで、ブロードキャストを受信しなくなります。

だから基本的に、あなたの質問に答えて...

停止したアプリケーションでブロードキャスト(SMS通知など)を受信する方法はありますか?

...私が上で説明した状況を除いて、答えはノーです。

于 2012-06-12T07:30:51.300 に答える