小编Jos*_*hua的帖子

在 Android 8 上,清单声明的广播接收器不会接收自定义广播

首先,我创建了一个BroadcastReceiver空体。然后,我将其添加到 AndroidManifest.xml 中。但我发现BroadcastReceiver在清单中声明并没有收到任何广播。我通过以下方式发送广播

sendOrderedBroadcast(new Intent("com.example.action"), null)
Run Code Online (Sandbox Code Playgroud)

或者

adb shell am broadcast -a com.example.action
Run Code Online (Sandbox Code Playgroud)

这两种方法都适用于Android 7,但不适用于Android 8。但是,如果BroadcastReceiver通过 声明registerReceiver,则仍然可以接收广播。

另一方面,android.hardware.usb.action.USB_DEVICE_ATTACHED在 Android 7 和 8 上运行良好。

我想问为什么会出现这种情况?我已经在模拟器和物理设备中对其进行了测试。他们有相同的行为。

AndroidManifest.xml

...
<receiver
    android:name=".device.UsbBroadcastReceiver"
    android:exported="true">
    <intent-filter>
        <action android:name="android.hardware.usb.action.USB_DEVICE_ATTACHED" />
        <action android:name="com.example.action" />
    </intent-filter>
    <meta-data
        android:name="android.hardware.usb.action.USB_DEVICE_ATTACHED"
        android:resource="@xml/device_filter" />
</receiver>
...
Run Code Online (Sandbox Code Playgroud)

java android broadcast broadcastreceiver

5
推荐指数
1
解决办法
3140
查看次数

如何在semantic-ui中制作两排顶部固定菜单

作为标题,我希望顶部固定菜单有两行而不是一行。

这是我尝试过的。

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/semantic-ui/2.2.13/semantic.js"></script>
<link rel="stylesheet" type="text/css" href="https://cdnjs.cloudflare.com/ajax/libs/semantic-ui/2.2.13/semantic.css">
<div class="ui top fixed inverted menu">
    <div class="ui container">
        <a class="item">Item</a>
        <a class="item">Item</a>
    </div>
    <div class="ui container">
        <a class="item">Item</a>
    </div>
</div>
Run Code Online (Sandbox Code Playgroud)

使用第二个容器会导致两者都占用 50% 的宽度。使用columngrid还没有工作(菜单不再保持其布局)。这似乎是一个简单的问题。欢迎任何帮助。

javascript css semantic-ui

5
推荐指数
1
解决办法
1271
查看次数

如果保护和反转有什么不同

很抱歉,如果这是一个菜鸟问题,因为我是Swift的新手并且无法从Google找到这个答案.

当我第一次看到后卫时,我想到了if其他编程语言的反转.

var optString: String?
guard optString != nil else { return }
if optString == nil { return }
Run Code Online (Sandbox Code Playgroud)

第二行和第三行不会产生相同的结果吗?

我能理解if let使代码比检查nil和解包更简单但是目的是guard什么?根据我的研究,我只能找到人们说它可以减少嵌套if哪个反转if可以做同样的事情.

编辑:我问的是反转if NOT if let.请在标记之前阅读该问题.

optional ios swift

4
推荐指数
1
解决办法
574
查看次数

Flask - SQLAlchemy 多对多原因 sqlalchemy.orm.exc.FlushError

class Show(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    title = db.Column(db.String(200), unique=True, nullable=False)
    studio = db.relationship("ShowStudio", backref="show", cascade="delete")

class Studio(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(100), unique=True, nullable=False)
    show = db.relationship("ShowStudio", backref="studio", cascade="delete")

class ShowStudio(db.Model):
    show_id = db.Column(db.Integer, db.ForeignKey(Show.id, ondelete="CASCADE"), primary_key=True)
    studio_id = db.Column(db.Integer, db.ForeignKey(Studio.id, ondelete="CASCADE"), primary_key=True)

studio = Studio(name="asd")

db.session.add(studio)
s = Show(title="a", studio=[studio])
db.session.flush()

db.session.add(s)
db.session.commit()
Run Code Online (Sandbox Code Playgroud)

当我运行它时,它抛出

sqlalchemy.orm.exc.FlushError:尝试刷新作为集合“Studio.show”成员的类型的项目。需要类型的对象或多态子类。

我遵循这里的答案。我不明白是什么原因导致了错误。欢迎任何帮助。

python many-to-many sqlalchemy flask-sqlalchemy

4
推荐指数
1
解决办法
3656
查看次数

Proguard与AAR库问题

我有一个带有一个类的android库,我想把它变成一个.aar库.当我设置minifyEnabled为true时,另一个android项目不能使用该库(如果minifyEnabled设置为false则没问题).我想问一下使用AAR库的proguard的正确配置是什么

HelloWorld.java

package com.example.hello;

import android.util.Log;

public class HelloWorld {
    public static void Hello(){
        Log.v("HelloWorld","Hello World!");
    }
}
Run Code Online (Sandbox Code Playgroud)

build.grandle

apply plugin: 'com.android.library'

android {
    compileSdkVersion 24
    buildToolsVersion "24.0.0"

    defaultConfig {
        minSdkVersion 15
        targetSdkVersion 24
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            minifyEnabled true
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    testCompile 'junit:junit:4.12'
    compile 'com.android.support:appcompat-v7:24.0.0'
}
Run Code Online (Sandbox Code Playgroud)

proguard-rules.pro

-dontwarn android.support.v7.**
-keep class android.support.v7.** { *; }
-keep interface android.support.v7.** { …
Run Code Online (Sandbox Code Playgroud)

android aar android-proguard

3
推荐指数
1
解决办法
5439
查看次数

替换后退按钮但保持滑动以导航回来

首先,我注意到有一个类似的问题.但是,我想问一下Swift中的解决方案.这是我的代码:

override func viewDidLoad() {
    super.viewDidLoad()
    navigationItem.leftBarButtonItem = UIBarButtonItem(title: "Button", style: .Plain, target: self, action: nil)
}
Run Code Online (Sandbox Code Playgroud)

我想更换后退按钮,但保持滑动以供用户导航回来.但是,这会禁用滑动.我无法在上面的链接中获得已接受的答案和建议的答案.这是我试图翻译成Swift的内容.

let appearanceNavigationBar = UINavigationBar.appearance()
appearanceNavigationBar.backIndicatorImage = UIImage(named: "back")
appearanceNavigationBar.backIndicatorTransitionMaskImage = UIImage(named: "back")
appearanceNavigationBar.tintColor = UIColor.whiteColor()
Run Code Online (Sandbox Code Playgroud)

我正在使用Xcode 8.0 beta,Swift 2.3并在iOS 10.0中进行测试.任何帮助将不胜感激.

uinavigationcontroller ios swift

2
推荐指数
1
解决办法
1324
查看次数

traefik.domain 和 traefik.frontend.rule=Host 有什么区别

traefik.frontend.rule=Host:example.com将对 example.com 的请求重定向到该后端。那么 的用法是什么呢traefik.domain

traefik

2
推荐指数
1
解决办法
1245
查看次数

如何更改搜索视图的图标颜色

任何人帮助我,我想要更改搜索视图的默认图标颜色.我想打开此活动中的搜索项,并在另一个活动中获得结果.我在我的菜单类Iwant中使用android.support.v7.widget.SearchView设置图标但在运行代码时不显示.

package com.example.abc.fullvolleysearch;

import android.app.SearchManager;
import android.content.Context;
import android.os.Bundle;
import android.support.design.widget.FloatingActionButton;
import android.support.design.widget.Snackbar;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
import android.view.MenuInflater;
import android.view.View;
import android.view.Menu;
import android.view.MenuItem;
import android.app.SearchManager;
import android.content.Context;
import android.os.Bundle;
import android.support.v7.app.ActionBarActivity;
import android.support.v7.widget.SearchView;
import android.view.Menu;
import android.view.MenuInflater;

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
        setSupportActionBar(toolbar);

        FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
        fab.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG) …
Run Code Online (Sandbox Code Playgroud)

search android view

1
推荐指数
1
解决办法
5488
查看次数