我有一个简单的按钮类,当按钮被点击时,我希望另一个类被安装并调用所有的方法。按钮类:

public class ButtonActivity extends Activity {

Button myButton;

TextView myLabel;

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.main);

myButton = (Button)findViewById(R.id.button1);

myLabel = (TextView)findViewById(R.id.textView1);

myButton.setOnClickListener(new View.OnClickListener() {

public void onClick(View v)

{

myLabel.setText("Fired");

SendClass sendy = new SendClass();

sendy.onReceive(null, null );

}

});

}

}第二类发送广播消息:

public class SendClass extends BroadcastReceiver {

private static final int UDP_SERVER_PORT = 2562;

Context mContext ;

DatagramSocket mSocket ;

InetAddress myBcastIP, myLocalIP ;

@Override

public void onReceive(Context context, Intent intent) {

String msg = "Toast Message" ;

DatagramSocket ds = null;

mContext = context;

try {

ds = new DatagramSocket();

try {

myBcastIP = getBroadcastAddress();

mSocket = new DatagramSocket(UDP_SERVER_PORT);

mSocket.setBroadcast(true);

} catch (IOException e) {

}

String udpMsg = "hello";

InetAddress serverAddr = myBcastIP;

//InetAddress serverAddr = InetAddress.getByName("192.168.1.5");

DatagramPacket dp;

dp = new DatagramPacket(udpMsg.getBytes(), udpMsg.length(), serverAddr, UDP_SERVER_PORT);

ds.send(dp);

} catch (SocketException e) {

e.printStackTrace();

}catch (UnknownHostException e) {

e.printStackTrace();

} catch (IOException e) {

e.printStackTrace();

} catch (Exception e) {

e.printStackTrace();

} finally {

if (ds != null) {

ds.close();

}

}

Toast.makeText(context, msg, Toast.LENGTH_LONG).show();

}

/**

* Calculate the broadcast IP we need to send the packet along.

*/

private InetAddress getBroadcastAddress() throws IOException {

WifiManager mWifi = (WifiManager) mContext.getSystemService(Context.WIFI_SERVICE);

WifiInfo info = mWifi.getConnectionInfo();

DhcpInfo dhcp = mWifi.getDhcpInfo();

if (dhcp == null) {

return null;

}

int broadcast = (dhcp.ipAddress & dhcp.netmask) | ~dhcp.netmask;

byte[] quads = new byte[4];

for (int k = 0; k < 4; k++)

quads[k] = (byte) ((broadcast >> k * 8) & 0xFF);

return InetAddress.getByAddress(quads); // The high order byte is quads[0].

}}

我认为问题在于onReceive(Context context, Intent intent)。

在ButtonClass中将值设置为NULL会导致强制关闭,并且我不能将其明显留空。

使用代码提示设置它们以:

sendy.onReceive(getBaseContext() , getIntent());意思是Toast动作触发,没有FC,但广播消息从不发送。

android context.java_Android / Java类范围和Context相关推荐

  1. android jni 返回java类

    今天,简单讲讲android 在jni中如何返回一个java的类. 之前,我写了一些关于jni的博客,里面返回的都是简单的int类型,那么如果我需要返回很多int和String类型,那么怎么办呢?当然 ...

  2. Android热修复Java类_Android 热修复(一)

    名词: dex:java文件编译class 然后生成 dex文件在Android上运行: 1.dex分包: 2.找出出现问题的dex文件进行替换操作 3.下载dex文件,静默替换有问题的dex文件,进 ...

  3. Android中怎样在工具类中获取Context对象

    场景 Android程序中访问资源时需要提供Context,一般来说只有在各种component中(Activity, Provider等等)才能方便的使用api来获取Context对象, 如果在编写 ...

  4. android studio创建一个类继承application_带你全方位了解Android中的Context

    这道题想考察什么? 是否熟悉Context类结构 是否熟悉Application,Activity,Service和Context的依赖关系 Application,Activity,Service中 ...

  5. 普通Java类获取context

    场景:存储数据使用的是SharedPreferences,都知道最简单的获得SharedPreferences的方法是context.getSharedPreferences,但是我存储数据的环节放在 ...

  6. Android R.java类的手动生成

    Android中的资源和R.java类 在Android项目中的res目录中包含了项目使用的各种资源,这些资源全部都分布在res目录下的各个子目录中.每个资源都有两个属性,一个是资源的名字,一个是资源 ...

  7. java线程画动图闪,Android中利用画图类和线程画出闪烁的心形,android心形,package com....

    Android中利用画图类和线程画出闪烁的心形,android心形,package com.package com.tt.view;import android.content.Context;imp ...

  8. Swagger报错,Unable to scan document context default java.lang.NullPointerException: null

    最近改完代码之后,启动项目,发现有以下error报错: Unable to scan document context default java.lang.NullPointerException: ...

  9. Qt for Android创建AndroidManifest.xml和Java类文件

    前言 随着Qt的不断升级,如今用Qt来做跨平台开发也越来越方便,特别是Qt5.0版本以后加大了对Qt Quick的拓展,用QML来开发移动端的应用非常简单,并且支持的库也越来越多. 今天要讲的是Qt开 ...

最新文章

  1. react es6+ 代码优化之路-1
  2. Linux/ubuntu 服务器开启6010端口-X11服务-ssh连接
  3. java读取与写入_Java读取与写入文件
  4. 判断正则 shell_【US分享】Shell中的括号
  5. 如何在读研读博的道路上迅速失败?
  6. H.264 无参考视频质量评价方法 (使用了基于遗传编程方法的符号回归)
  7. 微信小程序实现下拉刷新
  8. 通用数据链接(UDL)的用法
  9. c语言中node是数据类型吗,lnode(数据结构lnode是什么类型)
  10. 如何快速入门 Python 爬虫
  11. Excel快速排查重复数据的几种方法?
  12. 中不中奖,都是抽奖程序的锅?
  13. python自动注册邮箱_python自动化办公——邮箱
  14. emqx配置ssl/tsl实现双向认证
  15. 单月营业额一个亿,任泉李冰冰黄晓明追着投钱!这家企业是谁?
  16. 10个比Visio更好的流程图制作软件
  17. poi对word读取(文本和图片)、修改、保存操作及word转换为PDF
  18. 乔布斯前传:混沌岁月塑造独特性格
  19. 前端追梦人Cytoscape.js教程
  20. Uber入驻四川乐山峨眉地区

热门文章

  1. boost::mpl::abs相关的测试程序
  2. bgi::detail::is_valid用法的测试程序
  3. GDCM:gdcm::ImageChangePlanarConfiguration的测试程序
  4. Boost:宏BOOST_TEST_EQ的测试
  5. VTK:PolyData之ExtractSelection
  6. VTK:Math之1DTupleInterpolation
  7. OpenCV使用MultiTracker
  8. QDoc包括图片includingimages
  9. OpenGL 分层渲染Layered Rendering的实例
  10. OpenGL 着色器的N体仿真