如何在framework层显示activity并返回结果? framework蓝牙 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 startActivityForResult是个不错的解决方案。 我也考虑了这个方法,下面是例子代码。问题是如何返回结果呢?onActivityResult貌似是Activity的一个方法,我在BluetoothAdapter.java文件里没法直接写吧? buttonOpenActivity.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) {// Intent intent = new Intent();// //intent.setClassName("com.android.xiong.gridlayoutTest", "com.android.xiong.gridlayoutTest.MainActivity");// intent.setClassName("org.peking.AppOpsTest", "org.peking.AppOpsTest.PasswordActivity");// //startActivity(intent);//// Bundle bundle = new Bundle();// bundle.putBoolean("enforced", false);// intent.putExtras(bundle);// intent.setClass(SwitchActivity.this, PasswordActivity.class);// startActivityForResult(intent, 10); Intent intent = new Intent(Intent.ACTION_MAIN); intent.addCategory(Intent.CATEGORY_LAUNCHER); ComponentName componentName = new ComponentName("org.peking.AppOpsTest", "org.peking.AppOpsTest.PasswordActivity"); intent.setComponent(componentName); //startActivity(intent); Bundle bundle = new Bundle(); bundle.putBoolean("enforced", false); intent.putExtras(bundle); intent.setClass(SwitchActivity.this, PasswordActivity.class); startActivityForResult(intent, 10); } }); 在你的框架类增加一个成员变量保存activity就可以,然后用这个activity变量去创建intent 广播的话,如何设置BroadcastReciver呢? BluetoothAdapter.java的代码应该没有界面的吧?也不是一个应用 1)不太懂,是要在写一个activity的类么?这个需要添加一个文件吧?怎么把这个文件添加到编译脚本中去呢?2)即使activity实现了,如何向BluetoothAdapter.java传回结果? 1)不太懂,是要在写一个activity的类么?这个需要添加一个文件吧?怎么把这个文件添加到编译脚本中去呢?2)即使activity实现了,如何向BluetoothAdapter.java传回结果?我理解错了。你这个需求似乎要定制系统才能实现。 你说的“在启动或者关闭蓝牙时”,指的是通过系统设置而不是你的app来启动关闭吧? 是的,包括所有可能的蓝牙操作(系统的,其它app,当然也包括自己app的),系统是定制的,所以可以改源码,现在我发现在框架层startActivity都调用不了。。貌似是Activity的类方法,可是在框架层去哪里找Activity呢? 是的,包括所有可能的蓝牙操作(系统的,其它app,当然也包括自己app的),系统是定制的,所以可以改源码,现在我发现在框架层startActivity都调用不了。。貌似是Activity的类方法,可是在框架层去哪里找Activity呢?既然可以定制,那你找到系统设置启动关闭蓝牙的那个原有的activity改它的源码不就可以了? 是的,包括所有可能的蓝牙操作(系统的,其它app,当然也包括自己app的),系统是定制的,所以可以改源码,现在我发现在框架层startActivity都调用不了。。貌似是Activity的类方法,可是在框架层去哪里找Activity呢?既然可以定制,那你找到系统设置启动关闭蓝牙的那个原有的activity改它的源码不就可以了?呃,别的app可以直接调用enable()。你这样的需求实际上会导致兼容性问题,因为别的app本来直接enable就可以了,但是在你的定制系统上不行了。如果抛开兼容性,那你完全可以把BluetoothAdapter.enable()函数改为BluetoothAdapter.enable(Activity activity)这样;disable也做类似处理。 是的,包括所有可能的蓝牙操作(系统的,其它app,当然也包括自己app的),系统是定制的,所以可以改源码,现在我发现在框架层startActivity都调用不了。。貌似是Activity的类方法,可是在框架层去哪里找Activity呢?既然可以定制,那你找到系统设置启动关闭蓝牙的那个原有的activity改它的源码不就可以了?呃,别的app可以直接调用enable()。你这样的需求实际上会导致兼容性问题,因为别的app本来直接enable就可以了,但是在你的定制系统上不行了。如果抛开兼容性,那你完全可以把BluetoothAdapter.enable()函数改为BluetoothAdapter.enable(Activity activity)这样;disable也做类似处理。或者,更纯粹一些,改成这样 public boolean enable(String password) { ... } public boolean disable(String password) { ... } 广播的话,如何设置BroadcastReciver呢? BluetoothAdapter.java的代码应该没有界面的吧?也不是一个应用BluetoothAdapter里只是显示蓝牙设备列表的吧,搜索蓝牙的界面那有上下文的 是的,包括所有可能的蓝牙操作(系统的,其它app,当然也包括自己app的),系统是定制的,所以可以改源码,现在我发现在框架层startActivity都调用不了。。貌似是Activity的类方法,可是在框架层去哪里找Activity呢?既然可以定制,那你找到系统设置启动关闭蓝牙的那个原有的activity改它的源码不就可以了?呃,别的app可以直接调用enable()。你这样的需求实际上会导致兼容性问题,因为别的app本来直接enable就可以了,但是在你的定制系统上不行了。如果抛开兼容性,那你完全可以把BluetoothAdapter.enable()函数改为BluetoothAdapter.enable(Activity activity)这样;disable也做类似处理。或者,更纯粹一些,改成这样 public boolean enable(String password) { ... } public boolean disable(String password) { ... }不管怎么样,应用那边貌似都需要改动,所以现在只打算改Settings里的蓝牙设置了,应用调用蓝牙我会直接限制permission。现在问题来了,我发现我的ubuntu里的android模拟器的Settings里没有蓝牙这一项?但是windows下的模拟器有,这个如何破? 是的,包括所有可能的蓝牙操作(系统的,其它app,当然也包括自己app的),系统是定制的,所以可以改源码,现在我发现在框架层startActivity都调用不了。。貌似是Activity的类方法,可是在框架层去哪里找Activity呢?既然可以定制,那你找到系统设置启动关闭蓝牙的那个原有的activity改它的源码不就可以了?呃,别的app可以直接调用enable()。你这样的需求实际上会导致兼容性问题,因为别的app本来直接enable就可以了,但是在你的定制系统上不行了。如果抛开兼容性,那你完全可以把BluetoothAdapter.enable()函数改为BluetoothAdapter.enable(Activity activity)这样;disable也做类似处理。或者,更纯粹一些,改成这样 public boolean enable(String password) { ... } public boolean disable(String password) { ... }不管怎么样,应用那边貌似都需要改动,所以现在只打算改Settings里的蓝牙设置了,应用调用蓝牙我会直接限制permission。现在问题来了,我发现我的ubuntu里的android模拟器的Settings里没有蓝牙这一项?但是windows下的模拟器有,这个如何破?和摄像头蓝牙这种硬件设备相关的功能不应该在模拟器里调试把,还是需要真机的。 大家的APP在哪里进行推广的?现在市场带来的用户量怎么样 关于socket长连接 从资源文件中读取图片,为什么和drawable文件夹中显示的大小不一样? 关于点击按钮切换背景图片的问题 canvas通过matrix绘图问题 发送附件... Android交流QQ群:96878376 利用点击事件进行界面跳转时出现问题 android 调用拨号器拨号出错 求助-android仿微信发送图片显示,语音的方法 双卡机器调用拨号盘拨号时怎么控制用哪张卡拨号? 怎么用java调用微信支付接口
我也考虑了这个方法,下面是例子代码。问题是如何返回结果呢?onActivityResult貌似是Activity的一个方法,我在BluetoothAdapter.java文件里没法直接写吧? buttonOpenActivity.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
// Intent intent = new Intent();
// //intent.setClassName("com.android.xiong.gridlayoutTest", "com.android.xiong.gridlayoutTest.MainActivity");
// intent.setClassName("org.peking.AppOpsTest", "org.peking.AppOpsTest.PasswordActivity");
// //startActivity(intent);
//
// Bundle bundle = new Bundle();
// bundle.putBoolean("enforced", false);
// intent.putExtras(bundle);
// intent.setClass(SwitchActivity.this, PasswordActivity.class);
// startActivityForResult(intent, 10); Intent intent = new Intent(Intent.ACTION_MAIN);
intent.addCategory(Intent.CATEGORY_LAUNCHER);
ComponentName componentName = new ComponentName("org.peking.AppOpsTest", "org.peking.AppOpsTest.PasswordActivity");
intent.setComponent(componentName);
//startActivity(intent); Bundle bundle = new Bundle();
bundle.putBoolean("enforced", false);
intent.putExtras(bundle);
intent.setClass(SwitchActivity.this, PasswordActivity.class);
startActivityForResult(intent, 10);
}
});
广播的话,如何设置BroadcastReciver呢? BluetoothAdapter.java的代码应该没有界面的吧?也不是一个应用
1)不太懂,是要在写一个activity的类么?这个需要添加一个文件吧?怎么把这个文件添加到编译脚本中去呢?
2)即使activity实现了,如何向BluetoothAdapter.java传回结果?
1)不太懂,是要在写一个activity的类么?这个需要添加一个文件吧?怎么把这个文件添加到编译脚本中去呢?
2)即使activity实现了,如何向BluetoothAdapter.java传回结果?
我理解错了。你这个需求似乎要定制系统才能实现。
是的,包括所有可能的蓝牙操作(系统的,其它app,当然也包括自己app的),系统是定制的,所以可以改源码,现在我发现在框架层startActivity都调用不了。。貌似是Activity的类方法,可是在框架层去哪里找Activity呢?
是的,包括所有可能的蓝牙操作(系统的,其它app,当然也包括自己app的),系统是定制的,所以可以改源码,现在我发现在框架层startActivity都调用不了。。貌似是Activity的类方法,可是在框架层去哪里找Activity呢?
既然可以定制,那你找到系统设置启动关闭蓝牙的那个原有的activity改它的源码不就可以了?
是的,包括所有可能的蓝牙操作(系统的,其它app,当然也包括自己app的),系统是定制的,所以可以改源码,现在我发现在框架层startActivity都调用不了。。貌似是Activity的类方法,可是在框架层去哪里找Activity呢?
既然可以定制,那你找到系统设置启动关闭蓝牙的那个原有的activity改它的源码不就可以了?
呃,别的app可以直接调用enable()。
你这样的需求实际上会导致兼容性问题,因为别的app本来直接enable就可以了,但是在你的定制系统上不行了。
如果抛开兼容性,那你完全可以把BluetoothAdapter.enable()函数改为BluetoothAdapter.enable(Activity activity)这样;disable也做类似处理。
是的,包括所有可能的蓝牙操作(系统的,其它app,当然也包括自己app的),系统是定制的,所以可以改源码,现在我发现在框架层startActivity都调用不了。。貌似是Activity的类方法,可是在框架层去哪里找Activity呢?
既然可以定制,那你找到系统设置启动关闭蓝牙的那个原有的activity改它的源码不就可以了?
呃,别的app可以直接调用enable()。
你这样的需求实际上会导致兼容性问题,因为别的app本来直接enable就可以了,但是在你的定制系统上不行了。
如果抛开兼容性,那你完全可以把BluetoothAdapter.enable()函数改为BluetoothAdapter.enable(Activity activity)这样;disable也做类似处理。
或者,更纯粹一些,改成这样 public boolean enable(String password) {
...
}
public boolean disable(String password) {
...
}
广播的话,如何设置BroadcastReciver呢? BluetoothAdapter.java的代码应该没有界面的吧?也不是一个应用BluetoothAdapter里只是显示蓝牙设备列表的吧,搜索蓝牙的界面那有上下文的
是的,包括所有可能的蓝牙操作(系统的,其它app,当然也包括自己app的),系统是定制的,所以可以改源码,现在我发现在框架层startActivity都调用不了。。貌似是Activity的类方法,可是在框架层去哪里找Activity呢?
既然可以定制,那你找到系统设置启动关闭蓝牙的那个原有的activity改它的源码不就可以了?
呃,别的app可以直接调用enable()。
你这样的需求实际上会导致兼容性问题,因为别的app本来直接enable就可以了,但是在你的定制系统上不行了。
如果抛开兼容性,那你完全可以把BluetoothAdapter.enable()函数改为BluetoothAdapter.enable(Activity activity)这样;disable也做类似处理。
或者,更纯粹一些,改成这样 public boolean enable(String password) {
...
}
public boolean disable(String password) {
...
}不管怎么样,应用那边貌似都需要改动,所以现在只打算改Settings里的蓝牙设置了,应用调用蓝牙我会直接限制permission。
现在问题来了,我发现我的ubuntu里的android模拟器的Settings里没有蓝牙这一项?但是windows下的模拟器有,这个如何破?
是的,包括所有可能的蓝牙操作(系统的,其它app,当然也包括自己app的),系统是定制的,所以可以改源码,现在我发现在框架层startActivity都调用不了。。貌似是Activity的类方法,可是在框架层去哪里找Activity呢?
既然可以定制,那你找到系统设置启动关闭蓝牙的那个原有的activity改它的源码不就可以了?
呃,别的app可以直接调用enable()。
你这样的需求实际上会导致兼容性问题,因为别的app本来直接enable就可以了,但是在你的定制系统上不行了。
如果抛开兼容性,那你完全可以把BluetoothAdapter.enable()函数改为BluetoothAdapter.enable(Activity activity)这样;disable也做类似处理。
或者,更纯粹一些,改成这样 public boolean enable(String password) {
...
}
public boolean disable(String password) {
...
}不管怎么样,应用那边貌似都需要改动,所以现在只打算改Settings里的蓝牙设置了,应用调用蓝牙我会直接限制permission。
现在问题来了,我发现我的ubuntu里的android模拟器的Settings里没有蓝牙这一项?但是windows下的模拟器有,这个如何破?
和摄像头蓝牙这种硬件设备相关的功能不应该在模拟器里调试把,还是需要真机的。