AndroidStudioでBroadcastReceiverクラス内でActivityクラスを取得したいのですが、どうすれば取得できますでしょうか? BroadcastReceiverクラス内で Intent intent1 = new Intent(activity.getApplication(), Error.class); activity.startActivity(intent1);と入力すると startActivity の部分が赤字になってしまうのですが Activity activity = new Activity();とし ....activity. startActivity などとしても変数が灰色で困っています。 AndroidStudioでBroadcastReceiverクラス内でActivityクラスを取得したいのですが、どうすれば取得できるか教えてください。 目的 Android端末のWi-Fiの接続が切れた時にエラー画面に遷移させたい。 参考 https://kokufu.blogspot.jp/2016/12/android-wi-fi-access-point_3.html ---- import android.content.IntentFilter; import android.net.wifi.WifiManager; import android.os.Bundle; import android.support.v7.app.AppCompatActivity; public class MainActivity extends AppCompatActivity { // Activity 等の Context の中で WifiConnectionWatcher mWifiConnectionWatcher = new WifiConnectionWatcher(); @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } @Override protected void onResume() { super.onResume(); IntentFilter intentFilter = new IntentFilter(); intentFilter.addAction(WifiManager.NETWORK_STATE_CHANGED_ACTION); // "android.net.wifi.STATE_CHANGE" registerReceiver(mWifiConnectionWatcher, intentFilter); } @Override protected void onPause() { super.onPause(); unregisterReceiver(mWifiConnectionWatcher); } } ーーー import android.app.Activity; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.net.NetworkInfo; import android.net.wifi.WifiManager; import android.util.Log; import static android.content.ContentValues.TAG; public class WifiConnectionWatcher extends BroadcastReceiver { Activity activity = new Activity(); @Override public void onReceive(Context context, Intent intent) { if (intent.getAction().equals(WifiManager.NETWORK_STATE_CHANGED_ACTION)) { // "android.net.wifi.STATE_CHANGE" NetworkInfo info = intent.getParcelableExtra(WifiManager.EXTRA_NETWORK_INFO); switch (info.getState()) { case DISCONNECTED: Intent intent1 = new Intent(activity.getApplication(), Error.class); activity.startActivity(intent1); break; case SUSPENDED: break; case CONNECTING: break; case CONNECTED: break; case DISCONNECTING: break; case UNKNOWN: Log.e(TAG, "Wifi connection state is UNKNOWN"); break; default: Log.e(TAG, "Wifi connection state is OTHER"); break; } } } } ---- import android.app.Activity; import android.os.Bundle; public class Error extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.error); } } -----
↧