10

BroadcastReceiverブート完了後に実行する必要がある次のものがあります。Xiaomi デバイス (Redmi 1s)でテストしましたが、動作していませんが、 Samsungなどの他のデバイスでは期待どおりに動作しています。

public class DeviceBootReceiver extends BroadcastReceiver {
    @Override
    public void onReceive(Context context, Intent intent) {
        if(intent.getAction().equals("android.intent.action.BOOT_COMPLETED")) {
            Toast.makeText(context, "I am Running", Toast.LENGTH_SHORT).show();
        }
    }
}

マニフェストに権限を設定しました。

<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>

そして、以下は私の放送受信機です:

<receiver android:name=".receiver.DeviceBootReceiver">
    <intent-filter>
        <action android:name="android.intent.action.BOOT_COMPLETED"/>
    </intent-filter>
</receiver>
4

1 に答える 1

26

Web を検索して解決策を見つけたので、自分の質問に答えることにしました。質問に示されているのと同じコードに従ってください。

Xiaomi デバイスでは、アプリを自動起動リストに追加するだけで済みます。これを行うには、以下の簡単な手順に従います。

  1. スマートフォンでセキュリティアプリを開きます。

  2. Permissionsをタップすると、Autostart と Permissions の 2 つのオプションが表示されます。

  3. Autostartをタップすると、オンまたはオフの切り替えボタンを備えたアプリのリストが表示されます。

  4. アプリのトグルをオンにすると、完了です。

ここで、電話を再起動すると、実行中のトースト メッセージが表示されます。

于 2016-03-03T11:18:28.043 に答える