android - toast不能显示,求指教

 躲避世界2502862687 发布于 2022-11-06 12:22

这是小弟写的代码,在API10的手机运行无问题,但是在 API19的手机试运行时却无法在收到信息时显示toast,请问该怎么解决?小弟是初学者,请以简单的方式解释,最好能展示代码,万分感谢!

在网络上搜到应该添加
flag_include_stopped_packages
,请问该怎么添加?

IncomingSms.java

public class IncomingSms extends BroadcastReceiver {
final SmsManager sms = SmsManager.getDefault();

    public void onReceive(Context context,Intent intent) {
        final Bundle bundle = intent.getExtras();
        try {
            if (bundle != null) {
                final Object[] pdusObj = (Object[]) bundle.get("pdus");
                for (int i = 0; i < pdusObj.length; i++) {
                    SmsMessage currentMessage = SmsMessage.createFromPdu((byte[]) pdusObj[i]);
                    String message = currentMessage.getDisplayMessageBody();
                    String senderNum = currentMessage.getDisplayOriginatingAddress();
                    Log.i("SmsReceiver", senderNum + message);
                    Toast.makeText(context,
                            "send from " + senderNum + message, Toast.LENGTH_LONG).show();

                }
            }
        } catch (Exception e) {
            Log.e("SmsReceiver", "Exception smsReceiver" + e);
        }
    }
}

AndroidManifest.xml




    
    
    

    
        
            
                
                
                
            
        
        
        
            
                
                
        

    


SMS.java

public class SMS extends AppCompatActivity {



    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }


    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.menu_main, menu);
        return true;
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        // Handle action bar item clicks here. The action bar will
        // automatically handle clicks on the Home/Up button, so long
        // as you specify a parent activity in AndroidManifest.xml.
        int id = item.getItemId();

        //noinspection SimplifiableIfStatement
        if (id == R.id.action_settings) {
            return true;
        }

        return super.onOptionsItemSelected(item);
    }
}
2 个回答
  • 你可以看下这个,至少google的官方文档说从android 3.1开始自动给所有intent添加了flag_exclude_stopped_packages,所以在api19的手机上,app被杀掉后就无法收到系统广播了。

    2022-11-11 15:37 回答
  • api10能显示说明代码应该没问题,去看看api19的手机设置里该应用有没有禁用通知

    2022-11-11 15:40 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有