如何隐藏top活动并让之前的Activity响应触摸事件

时间:2012-03-16 09:31:15

标签: android android-activity background touch

我有AsyncTask调用Activity (A),它会不断检查是否已启用Wifi。在它下面还有另一个Activity (B),我希望用户仍能继续使用它。 A在B顶部是不可见的,因此,触摸事件未在B上注册。

A有没有办法让View完全没有Activity,但仍然可以拥有{{1}}个特征,并且可以继续在背景中做什么,同时B接受触摸事件?< / p>

2 个答案:

答案 0 :(得分:1)

你也可以试试这个。你的活动实现Runnable .. 在oncreate中创建一个线程

public class youractivity extends Activity implements Runnable{
......
boolean bool=true; 
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
.....
ConnectivityManager connectivityManager = (ConnectivityManager)
    context.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo networkInfo = null;
Thread t=new Thread();
t.start();
.....
}

public void run()
{
 while (true){
  if (connectivityManager != null) {
    networkInfo =
        connectivityManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI);
   if(networkInfo!=bool){

   bool=networkInfo;
   handler.post(new Runnable() {
                public void run() {
                 Toast.makeText(youractivity.this,
                "wifi: "+String.valueOf(networkInfo),
                Toast.LENGTH_LONG).show();
                }
              });
   }
}

 }
}

答案 1 :(得分:0)

我认为您在Android的上下文中混淆了 Activity 的英文单词和 Activity

  

如果我弄错了,请告诉我,您想要活动(A)的活动特征是什么。

如果我没记错,在这里,您只需要一个活动。 活动(B) 。为了实现不断检查Wifi是否已打开的任务,您可以从活动(B)开始一个新线程。


完成不断检查Wifi是否已开启任务的另一个选项是Service