我第一次在Go工作,在这种情况下,我有一个UTC格式的字符串,我想知道,我怎么能在我的日期和现在的时间之间得到差异.这是我目前的字符串
v := "2014-05-03 20:57 UTC"
Run Code Online (Sandbox Code Playgroud) 我正在尝试在具有Marshmallow作为操作系统的设备上启动呼叫意图操作,使用与往常相同的步骤(这适用于以下版本):
添加权限:
<uses-permission android:name="android.permission.CALL_PHONE" />
Run Code Online (Sandbox Code Playgroud)
打开意图:
Intent intent = new Intent(Intent.ACTION_CALL);
intent.setData(Uri.parse("tel:" + getString(R.string.connect_phone)));
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
Run Code Online (Sandbox Code Playgroud)
这是我得到的日志:
致命异议:主要
进程:com.app.calling,PID:4250 java.lang.SecurityException:权限拒绝:启动Intent {act = android.intent.action.CALL dat = tel:xxxxxxxxxxxxx flg = 0x10000000 cmp = com.android.server.telecom/.components.UserCallActivity VirtualScreenParam =参数{mDisplayId = -1,NULL,mFlags = 00000000)}}从ProcessRecord {1618b01 4250:com.app.calling/u0a234}(PID = 4250,UID = 10234)与撤销许可android.permission .CALL_PHONE在android.os.Parcel.readException(Parcel.java:1620)在android.os.Parcel.readException(Parcel.java:1573)在android.app.ActivityManagerProxy.startActivity(ActivityManagerNative.java:3130)在机器人. app.Instrumentation.execStartActivity(Instrumentation.java:1540)在android.app.Activity.startActivityForResult(Activity.java:4283)在android.app.Activity.startActivityForResult(Activity.java:4230)在android.support.v4.app android.support.v4.app.FragmentActivity上的.FragmentActivity.startActivityFromFragment(FragmentActivity.java:849)$ HostCallbacks.onStartActivityFr omFragment(FragmentActivity.java:907)在android.support.v4.app.Fragment.startActivity(Fragment.java:919)在com.app.calling.activity.fragment.ConnectFragment $ 2.onGroupClick(ConnectFragment.java:44)在android.widget.ExpandableListView.handleItemClick(ExpandableListView.java:676)在android.widget.ExpandableListView.performItemClick(ExpandableListView.java:654)在android.widget.AbsListView $ PerformClick.run(AbsListView.java:3821)在android.widget .AbsListView $ 3.run(AbsListView.java:5841)在android.os.Handler.handleCallback(Handler.java:739)android.os.Handler.dispatchMessage(Handler.java:95)android.os.Looper.loop (Looper.java:158)在android.app.ActivityThread.main(ActivityThread.java:7224)在java.lang.reflect.Method.invoke(本机方法)在com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run (ZygoteInit.java:1230)com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120)
再一次,这个过程在之前的版本(Lollipop和kitkat)中运行良好,不幸的是不在Marshmallow上,有人知道为什么或我缺少什么?
我正在使用go结构,现在我有一个结构,其中包含更多的结构,在这种情况下,我需要在切片中找出Id的值.我在最后一个结构中只有一个元素的名称,我现在这样做的方法是读取一个名为Genes的切片的每个元素,直到找到我的字符串Name.有没有更好的做法来找到我的字符串名称?
type GenresResponse struct {
Count int `xml:"count,attr"`
PageIndex int `xml:"page_index,attr"`
PageSize int `xml:"page_size,attr"`
NumOfResults int `xml:"num_of_results,attr"`
TotalPages int `xml:"total_pages,attr"`
Genes []Gene `xml:"gene"`
}
type Gene struct {
Category string `xml:"category,attr"`
Id string `xml:"id,attr"`
Translations Translations `xml:"translations"`
}
type Translations struct{
Translation Translation `xml:"translation"`
}
type Translation struct{
Lang string `xml:"lang,attr"`
Name string `xml:"name"`
}
Run Code Online (Sandbox Code Playgroud)
这就是我读它的方式
idToFind := "0"
for _, genreItem := range responseStruct.Genes {
if strings.ToLower(genreItem.Translations.Translation.Name) == strings.ToLower(myNameValue){
idToFind = genreItem.Id
break
}
}
Run Code Online (Sandbox Code Playgroud) 我是Golang的新工作,在这种情况下我有一个map [string],它有一个struct.在这一点上,一切都是有效的.
但是我希望有一个map [string],我可以在其中同时访问另一个具有self结构的map [string].
这是我正在努力工作的代码.
type myStruct struct{
atrib1 string
atrib2 string
}
var apiRequest map[string] map[string]myStruct
Run Code Online (Sandbox Code Playgroud)
我想访问这样的东西:
func main() {
apiRequest = make(map[string] map[string]myStruct)
apiKeyTypeRequest["Key"]["MyFirstOption"].atrib1 = "first Value first op"
apiKeyTypeRequest["Key"]["MyFirstOption"].atrib2 = "second Value first op"
apiKeyTypeRequest["Key"]["MysecondtOption"].atrib1 = "first Value second op"
}
Run Code Online (Sandbox Code Playgroud) 我正在尝试使用从Activity3检索到Activity1的值.这是我的流程:
Activity1调用Activity2→Activity2.finish(),调用Activity3→Activity3.doSomethingAndGetValue()→Activity3.finish()→Activity1.useDoSomethingAndGetValue();
我找不到将Activity3中的值发送回Activity1的方法; 即使使用startActivityForResult(),因为到那时Activity2已被销毁.
我尝试使用可序列化的接口并将其作为意图的额外值传递,但此解决方案仅适用于传递的对象是静态的,这不允许我对活动1上的当前成员变量进行任何更改.
此外,我尝试了所有这些选项但没有成功:
(我不允许使用共享首选项)
有没有人有任何想法?
注意:我不能添加eventBus,我知道会很好,也很容易,但架构不允许我.
我有一个基于Android的React Native应用,并且正在从屏幕A导航到屏幕B.
屏幕B是具有文本输入并使用更新按钮保存新值的组件。
我正在寻找的是在按下按钮后关闭/结束屏幕B,并且流程如下所示:
屏幕A->屏幕B(完成屏幕并返回)->屏幕A
尽管如此,当我回到屏幕A后在Android设备中按“后退箭头”按钮时,该应用仍会返回屏幕B :(
屏幕A中的渲染方法
render() {
return (
<View style={styles.container}>
<View styleName="horizontal" style={styles.row}>
<Text style={styles.captionDarkGray}>
{this.props.user.name}
</Text>
<View style={styles.alignHorizontalRight}>
<Text
style={styles.editButton}
onPress={() =>
this.props.navigation.navigate("ScreenB", {
fieldName: "Name",
fieldValue: this.props.user.name
})
}
>
Edit
</Text>
</View>
</View>
</View>
);
}
Run Code Online (Sandbox Code Playgroud)
的B屏代码是:
export class ScreenB extends Component {
constructor(props) {
super(props);
}
dimissScreen() {
// Finish this Component
}
render() {
const fieldName = this.props.navigation.getParam("fieldName", "NO-ID");
const fieldValue = this.props.navigation.getParam("fieldValue", "NO-ID");
return (
<View …Run Code Online (Sandbox Code Playgroud)