BroadcastReceiver如何启动新意图

Mar*_*zzi 5 android broadcastreceiver android-intent

如果互联网连接丢失,我实施了一个广播接收器来"阻止"我的应用.我认为该应用程序必须打开"无互联网连接"活动.

这是我的收件人代码:

public class ConnectivityReceiver extends BroadcastReceiver {

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

    boolean noConnectivity = intent.getBooleanExtra(ConnectivityManager.EXTRA_NO_CONNECTIVITY, false);
    Log.d("** Debug **","noConnectivity " + noConnectivity);

    if(noConnectivity){
        //SHOW NO INTERNET CONNECTION ACTIVITY
    }
}
}
Run Code Online (Sandbox Code Playgroud)

当noConnectivity == true时,是否可以启动NoInternetConnection.class?

谢谢!

解:

Intent i = new Intent(context, NoInternetConnection.class);
i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(i);
Run Code Online (Sandbox Code Playgroud)

Joe*_*Joe 3

你应该只需要调用startActivity:

context.startActivity(new Intent(NoInternetConnection.class));
Run Code Online (Sandbox Code Playgroud)

您需要确保“NoInternetConnection”活动已在清单文件中注册:

<activity android:name=".NoInternetConnection"></activity>
Run Code Online (Sandbox Code Playgroud)

您具体遇到什么问题?

  • 谢谢,只需要:intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); (2认同)