android – 从广播接收器完成活动

我有一个活动,当电话响铃时(通过电话应用程序)我显示为无模式.我想在发生以下任一事件时完成活动.第一个是如果我触摸活动之外的任何地方(这不是问题),第二个是如果振铃停止.我正在收听广播接收器中的IDLE_STATE,但我不确定如何在看到它时调用活动的结束.接收器未由活动注册,而是由Manifest.xml注册

解决方法

现在在接收广播中编写代码,这将发送另一个名为“com.hello.action”的广泛演员.
Intent local = new Intent();
local.setAction("com.hello.action");
sendbroadcast(local);

现在在活动中抓住这个意图,你想要完成它,然后在接收器的onReceive方法调用super.finish()
像这样

public class fileNamefilter extends Activity {
ArrayAdapter<String> adapter;
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    IntentFilter filter = new IntentFilter();

    filter.addAction("com.hello.action");
    registerReceiver(receiver,filter);

    }
broadcastReceiver receiver = new broadcastReceiver() {

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

    }
};

public void finish() {
    super.finish();
};
}

这将完成活动

相关文章

Android性能优化——之控件的优化 前面讲了图像的优化,接下...
前言 上一篇已经讲了如何实现textView中粗字体效果,里面主要...
最近项目重构,涉及到了数据库和文件下载,发现GreenDao这个...
WebView加载页面的两种方式 一、加载网络页面 加载网络页面,...
给APP全局设置字体主要分为两个方面来介绍 一、给原生界面设...
前言 最近UI大牛出了一版新的效果图,按照IOS的效果做的,页...