我尝试使用此PackageManager方法启用和禁用广播接收器:
setComponentEnabledSetting(componentName,
PackageManager.COMPONENT_ENABLED_STATE_DISABLED,
PackageManager.DONT_KILL_APP);
Run Code Online (Sandbox Code Playgroud)
广播接收器在清单中注册.接收器工作正常,但当我尝试禁用它时,它仍然接收广播消息.当我通过"android:enabled ="false""禁用清单中的接收器时,接收器没有收到任何东西,但我无法启用它.
我从服务中调用该方法.
PackageManager pm = getApplicationContext().getPackageManager();
ComponentName componentName = new ComponentName("com.app",
".broadcast_receivers.OnNetworkChangedReceiver");
pm.setComponentEnabledSetting(componentName,
PackageManager.COMPONENT_ENABLED_STATE_DISABLED,
PackageManager.DONT_KILL_APP);
Run Code Online (Sandbox Code Playgroud)
Android清单:
<receiver android:name=".broadcast_receivers.OnNetworkChangedReceiver"
android:enabled="true">
<intent-filter>
<action android:name="android.net.conn.CONNECTIVITY_CHANGE"/>
</intent-filter>
</receiver>
Run Code Online (Sandbox Code Playgroud)
收件人
public class OnNetworkChangedReceiver extends BroadcastReceiver {
private static final String TAG = "OnNetworkChangedReceiver";
@Override
public void onReceive(Context context, Intent intent) {
Log.d(TAG, "in OnNetworkChanged");
}
}
Run Code Online (Sandbox Code Playgroud)
我昨天也从一个Activity中调用了这个方法.我认为它有效,但今天没有任何作品了.可能是因为我昨天误解为禁用接收器的意图(android.net.conn.CONNECTIVITY_CHANGE)有时会有很大的延迟吗?
PackageManager的方法是正确的方向还是想法中存在基本错误?
非常感谢,斯文
我正在尝试读取/写入commonMain模块中的文件。
我使用 Android Studio 向导为 Android 和 iOS 创建了一个新的 Kotlin 多平台应用程序。( New -> New Project ... -> Koltin Multiplatform App)
然后我将 okio 添加为shared/build.gradle.kts文件中 common 的依赖项。
sourceSets {
val okio = "3.3.0"
val commonMain by getting {
dependencies {
implementation("com.squareup.okio:okio:$okio")
}
}
...
Run Code Online (Sandbox Code Playgroud)
在模块 commonMain 中,我无法访问FileSystem.SYSTEM( Unresolved Reference: SYSTEM),因此无法读取或写入任何文件。
在模块中iOSMain我androidMain可以访问FileSystem.SYSTEM. 这是预期的行为吗?这需要我为所有 okio api 编写一个expected/actual映射。或者还有其他方法吗?
或者我是否需要以不同的方式配置我的项目才能访问-ModuleFileSystem.SYSTEM内部commonMain?
shared/build.gradle
plugins {
kotlin("multiplatform") …Run Code Online (Sandbox Code Playgroud) 我有一个图像库只用css滑出图像.有关示例或附加代码,请参见http://codepen.io/anon/pen/xmhzE?editors=110.
只要#images-div没有overflow: hidden设置它就可以正常工作.当溢出设置为隐藏时,单个图像的绝对定位不再起作用.当我left对图像的属性使用负值时,它也适用于隐藏溢出.
是否overflow:hidden改变了绝对孩子的安抚方式?
有没有人有这个问题的解决方案?
来源
index.html的:
<div id="images">
<img id="image1" src="http://i.imgur.com/dL3io.jpg" />
<img id="image2" src="http://i.imgur.com/qASVX.jpg" />
<img id="image3" src="http://i.imgur.com/fLuHO.jpg" />
<img id="image4" src="http://i.imgur.com/5Sd3Q.jpg" />
</div>
<div id="slider">
<a href="#image1">1</a>
<a href="#image2">2</a>
<a href="#image3">3</a>
<a href="#image4">4</a>
</div>
Run Code Online (Sandbox Code Playgroud)
base.css:
body {
text-align: center;
}
#images {
width: 400px;
height: 250px;
/*overflow: hidden; if this is set absolute positioning of images breaks*/
position: relative;
background-color: red;
margin: 20px auto;
}
#images img …Run Code Online (Sandbox Code Playgroud) 我正在评估使用GWT和Apache Cordova/PhoneGap创建移动混合应用程序的可能性.我已经用mgwt构建了一个小型原型并喜欢它,但我想在开始项目之前研究一些其他的可能性.因此,我看了一下Vaadin及其AddOn Touchkit.
我有以下问题:
是否可以在不需要永久服务器连接的客户端应用程序中使用Vaadin Touchkit Addon?
在文档的移动章节中,显示了一个示例,它是一个服务器端应用程序,据我所知,因此需要为每个UI事件提供服务器连接.如果我错了,请纠正我,我对Vaadin没有经验.
"普通"GWT应用程序和客户端Vaadin应用程序之间有什么区别吗?
使用Vaadin Touchkit代替mgwt有什么好处吗?
一般来说,Vaadin Touchkit与mgwt相当,如果是,那么主要区别是什么?
作为开始使用RxAndroid的一个例子,我试图实现一个搜索框,当用户插入一些内容时触发一个休息调用.
到目前为止,我有两个工作部分.第一次观察EditTextView ......
RxTextView.textChangeEvents(searchEditText)
.debounce(400, TimeUnit.MILLISECONDS)
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Observer<TextViewTextChangeEvent>() {
@Override
public void onCompleted() {
Timber.d("onCompleted");
}
@Override
public void onError(Throwable e) {
Timber.e(e, "onError");
}
@Override
public void onNext(TextViewTextChangeEvent e) {
Timber.d("onNext" + e.text().toString());
}
});
Run Code Online (Sandbox Code Playgroud)
...以及使用Retrofit Service调用REST API的第二部分:
APIManager.getService().searchRestaurants("test")
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Observer<List<Restaurant>>() {
@Override
public void onCompleted() {
Timber.d("onCompleted");
}
@Override
public void onError(Throwable e) {
Timber.e(e, "onError");
}
@Override
public void onNext(List<Restaurant> restaurants) {
Timber.d("onNext");
for (Restaurant restaurant : restaurants) {
Timber.d(restaurant.getId() + ": " + …Run Code Online (Sandbox Code Playgroud) 我想使用svg作为div元素的容器,div元素应包含多个元素.目前它看起来像这样:
<body>
<svg width="100%" height="100%" viewBox="0 0 45 90" version="1.1" xmlns="http://www.w3.org/2000/svg" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:1.41421;">
<path d="M45.02,17.449l0,-5.837l-0.324,0c0,-3.841 0,-6.21 0,-6.344c0,-0.786 0.105,-3.078 -2.657,-3.659c-5.996,-1.263 -19.539,-1.352 -19.539,-1.352c0,0 -13.543,0.089 -19.539,1.352c-2.762,0.58 -2.657,2.873 -2.657,3.659c0,0.192 0,4.987 0,12.133l-0.324,0l0,14.537l0.324,0c0,22.9 0,52.313 0,52.794c0,0.786 -0.105,3.079 2.656,3.66c5.997,1.262 19.54,1.351 19.54,1.351c0,0 13.542,-0.089 19.539,-1.351c2.762,-0.581 2.657,-2.874 2.657,-3.66c0,-0.594 0,-45.159 0,-67.283l0.324,0Zm-22.52,-13.778c0.535,0 0.969,0.434 0.969,0.969c0,0.536 -0.434,0.97 -0.969,0.97c-0.535,0 -0.969,-0.435 -0.969,-0.97c0,-0.536 0.434,-0.969 0.969,-0.969Zm20.262,75.595l-40.525,0l0,-71.234l40.524,0l0,71.234l0.001,0Z" style="fill-rule:nonzero;"></path>
<foreignObject x="2.238" y="8.019" width="40" height="71">
<div id="screen">
I'm a very long text. Why am I so big?
</div>
</foreignObject>
</svg>
</body>
Run Code Online (Sandbox Code Playgroud)
CSS
html, body{
width: 100%;
height: 100%;
}
#screen{
background: green;
overflow: …Run Code Online (Sandbox Code Playgroud) 为了在 android 和 iOS 应用程序之间共享协议的实现,我正在尝试使用 Kotlin Multiplatform。我按照此处的说明设置了一个基本的多平台项目。
它定义了共享模块中的公共代码......
fun createApplicationScreenMessage() : String {
return "Kotlin Rocks on ${platformName()}"
}
Run Code Online (Sandbox Code Playgroud)
... 可用于 iOS 项目 CommonKt.createApplicationScreenMessage()
现在想在common模块做IO操作。我为此找到了Kotlinx-io,并且可以在 common 模块中使用它。
但是如何正确设计 kotlin 代码和 swift 代码之间的 api,以便我可以将 InputStream/ByteArray/ByteReadPacket 等价物从 Swift 传递到 kotlin 模块?
例如像 ByteReadPacket 这样的 kotlinx-io 类型:
Kotlin 通用模块:
class ProtocolReader{
public fun parse(packet: ByteArray): ParsedMessage {
//parse data
}
}
Run Code Online (Sandbox Code Playgroud)
Swift iOS 应用程序
var byteArray = [UInt8](characteristicData)
let reader = ProtocolReader()
reader.parse(byteArray)
Run Code Online (Sandbox Code Playgroud)
这个例子不起作用,因为 swift byteArray 不能与 …
我使用https://pub.dev/packages/json_serializable为我的类生成 Json 序列化。这工作正常。现在我想只为 json 生成忽略单个字段,但在读取 json 时不忽略,例如以下示例中的 dateOfBirth:
@JsonSerializable()
class Person {
final String firstName;
final String lastName;
final DateTime dateOfBirth; //<-- ignore this field for json serialization but not for deserialization
Person({this.firstName, this.lastName, this.dateOfBirth});
factory Person.fromJson(Map<String, dynamic> json) => _$PersonFromJson(json);
Map<String, dynamic> toJson() => _$PersonToJson(this);
}
Run Code Online (Sandbox Code Playgroud)
当我使用JsonKey.ignore该字段时,toJsonand 会被忽略fromJson。
是否有我缺少的这种情况的 JsonKey 注释?