I am working on it
Change the behaviour of 'Leave a review' under About screen
Software and hardware versions
Collect v1.4, Android v4.4, device used...
Problem description
In About screen
there is a Leave a review
option. The description of the option says Leave a review on Google Play. On clicking the option a chooser intent appears. The problem is that if the user has google play store installed, then also a list of all available options appear instead of directly opening the Google Play Store app.
Steps to reproduce the problem
Click Leave a review under About screen
Expected behavior
If the device has GooglePlayStore installed then directly open GooglePlayStore. Otherwise ask the user to choose from a list of available options
该提问来源于开源项目：getodk/collect
 点赞
 写回答
 关注问题
 收藏
 复制链接分享
 邀请回答
5条回答

采纳
点赞 评论 复制链接分享

采纳
Do you want to let the user choose if PlayStore isn't there or just use the default browser? We don't really want users going to PlayStore alternatives. The browser seems like a good choice to me.
点赞 评论 复制链接分享 
采纳
I will list all the available browsers only in case google play store is not found. The user may then select to open in the preferred browser
点赞 评论 复制链接分享 
采纳
Ok, so you can filter to just show browsers and not alternative app stores, right?
点赞 评论 复制链接分享 
采纳
Yes
点赞 评论 复制链接分享
相关推荐
 8年前回答 3 已采纳 Apologies if this is a really basic question. I've inadvertently discovered that asort() appears to work with multidimensional arrays: Sample PHP $animals = array( 1 => array('name' => 'Zebra'), 2 => array('name' => 'Fox'), 3 => array('name' => 'Rabbit'), 4 => array('name' => 'Dog'), 5 => array('name' => 'Cat') ); asort($animals); var_dump($animals); Output array 5 => array 'name' => string 'Cat' (length=3) 4 => array 'name' => string 'Dog' (length=3) 2 => array 'name' => string 'Fox' (length=3) 3 => array 'name' => string 'Rabbit' (length=6) 1 => array 'name' => string 'Zebra' (length=5) I'd like to know why this works? I thought asort() only sorted flat arrays, and to sort multidimensional arrays you needed to define a custom sort function. I can't find anything in the documentation that explains the above behaviour.
 4年前回答 2 已采纳 The most important part of a GSM network is so called Base Transceiver Station (BTS). These transceivers form the areas called cells (this term gave the name to the cellular phone) and every phone connects to the BTS with the strongest signal (in a little simplified view). Of course, BTSes need some attention and technicians need to check their function periodically. ACM technicians faced a very interesting problem recently. Given a set of BTSes to visit, they needed to find the shortest path to visit all of the given points and return back to the central company building. Programmers have spent several months studying this problem but with no results. They were unable to find the solution fast enough. After a long time, one of the programmers found this problem in a conference article. Unfortunately, he found that the problem is so called "Travelling Salesman Problem" and it is very hard to solve. If we have N BTSes to be visited, we can visit them in any order, giving us N! possibilities to examine. The function expressing that number is called factorial and can be computed as a product 1.2.3.4....N. The number is very high even for a relatively small N. The programmers understood they had no chance to solve the problem. But because they have already received the research grant from the government, they needed to continue with their studies and produce at least some results. So they started to study behaviour of the factorial function. For example, they defined the function Z. For any positive integer N, Z(N) is the number of zeros at the end of the decimal form of number N!. They noticed that this function never decreases. If we have two numbers N1<N2, then Z(N1) <= Z(N2). It is because we can never "lose" any trailing zero by multiplying by any positive number. We can only get new and new zeros. The function Z is very interesting, so we need a computer program that can determine its value efficiently. Input There is a single positive integer T on the first line of input. It stands for the number of numbers to follow. Then there is T lines, each containing exactly one positive integer number N, 1 <= N <= 1000000000. Output For every number N, output a single line containing the single nonnegative integer Z(N). Sample Input 6 3 60 100 1024 23456 8735373 Sample Output 0 14 24 253 5861 2183837
 4年前回答 1 已采纳 The Antique Comedians of Malidinesia play an interesting comedy where many animals occur. Because they want their plays to be as true as possible, a specialist studies the behaviour of various animals. Recently, he is interested in a binary dynamic ecological system haresfoxes (SHF). As a part of this project, you are asked to design and implement intelligent automatic target evaluation simulator (IATES) for this system. The behaviour of the SHF follows so called standard model, described by the following set of difference equations. hy+1 = a.hy  b.fy fy+1 = c.fy + d.hy where hy resp. fy represent the difference of the number of hares resp. foxes in year y and the reference count determined at the beginning of the experiment. The units of hy and fy are unknown. Therefore, hy and fy are to be treated as real numbers. Your task is to write a program to determine the long term evolution of SHF. Input The input consists of N cases. The first line of the input contains only positive integer N. Then follow the cases. Each case consists of six real numbers a, b, c, d, h1998 and f1998, written in this order on three lines, two numbers per line, separated by one or more spaces. The numbers are given in the classical format, i.e. optional sign, sequence of digits, optional dot and optional sequence of digits. The text form of a number does not exceed 10 characters. Each case is followed by one empty line. Output For each case, print one of the following sentences: 'Ecological balance will develop.'  if after sufficiently long time the population of both hares and foxes approaches the reference count with an arbitrary a priori given precision, i.e. lim hy=0 and lim fy=0. 'Hares will die out while foxes will overgrow.'  if after sufficiently long time the population of hares resp. foxes falls under resp. exceeds any a priori given threshold, i.e. lim hy=infinity and lim fy=+infinity. 'Hares will overgrow while foxes will die out.'  if after sufficiently long time the population of foxes resp. hares falls under resp. exceeds any a priori given threshold, i.e. lim hy=+infinity and lim fy=infinity. 'Both hares and foxes will die out.'  if after sufficiently long time the population of both hares and foxes falls under any a priori given threshold, i.e. lim hy=infinity and lim fy=infinity. 'Both hares and foxes will overgrow.'  if after sufficiently long time the population of both hares and foxes exceeds any a priori given threshold, i.e. lim hy=+infinity and lim fy=+infinity. 'Chaos will develop.'  if none of the above mentioned description fits. Sample Input 2 2 0.5 0.5 0.6 2 3 0.1 1 2 0.1 1 1 Sample Output Both hares and foxes will overgrow. Hares will die out while foxes will overgrow.
 回答 1 已采纳 Description The most important activity of ACM is the GSM network. As the mobile phone operator, ACM must build its own transmitting stations. It is very important to compute the exact behaviour of electromagnetic waves. Unfortunately, prediction of electromagnetic fields is a very complex task and the formulas describing them are very long and hardtoread. For example, below are the Maxwell's Equations describing the basic laws of electrical engineering. ![](http://poj.org/images/1400_1.jpg) ACM has designed its own computer system that can make some field computations and produce results in the form of mathematic expressions. Unfortunately, by generating the expression in several steps, there are always some unneeded parentheses inside the expression. Your task is to take these partial results and make them "nice" by removing all unnecessary parentheses. Input There is a single positive integer T on the first line of input. It stands for the number of expressions to follow. Each expression consists of a single line containing only lowercase letters, operators (+, , *, /) and parentheses (( and )). The letters are variables that can have any value, operators and parentheses have their usual meaning. Multiplication and division have higher priority then subtraction and addition. All operations with the same priority are computed from left to right (operators are leftassociative). There are no spaces inside the expressions. No input line contains more than 250 characters. Output Print a single line for every expression. The line must contain the same expression with unneeded parentheses removed. You must remove as many parentheses as possible without changing the semantics of the expression. The semantics of the expression is considered the same if and only if any of the following conditions hold: The ordering of operations remains the same. That means "(a+b)+c" is the same as "a+b+c", and "a+(b/c)" is the same as "a+b/c". The order of some operations is swapped but the result remains unchanged with respect to the addition and multiplication associativity. That means "a+(b+c)" and "(a+b)+c" are the same. We can also combine addition with subtraction and multiplication with division, if the subtraction or division is the second operation. For example, "a+(bc)" is the same as "a+bc". You cannot use any other laws, namely you cannot swap left and right operands and you cannot replace "a(bc)" with "ab+c". Sample Input 8 (a+(b*c)) ((a+b)*c) (a*(b*c)) (a*(b/c)*d) ((a/(b/c))/d) ((x)) (a+b)(cd)(e/f) (a+b)+(cd)(e+f) Sample Output a+b*c (a+b)*c a*b*c a*b/c*d a/(b/c)/d x a+b(cd)e/f a+b+cd(e+f)
 回答 1 已采纳 Today I included 'go vet' in one of my pipelines that builds a go service. I wonder why go vet's output on my local machine is different from the one that runs on the CI server. I figured out that the go version differs  at least a bit. My local Go version is 1.12.4 and the CIs is version 1.12.7. This fact would explain the different behaviour, but I don't get why this happens! There is the smell: type Something struct { ... BatteryNumber string `json:"number"` ... } type SomethingWithBattery struct { Something Number string `json:"number"` ... } So, two times 'number' in the struct tags, because Somethingstruct is nested SomethingWithBattery  1.12.4 complains, 1.12.7 does not. Why?
 回答 2 已采纳 Is there a reason for this behaviour? I would like to know what is different in the memory level. The compiler returns "cannot take the address of composite literal" while i can explicitly ask it to do it. Heres the go playground go playground link u := User{"john"} fmt.Println(u.Name()) //implicit //fmt.Println(User{"john"}.Name()) //Error: cannot call pointer method on composite literal, cannot take the address of composite literal fmt.Println((&User{"jim"}).Name()) //explicit type User struct { name string } func (u *User) Name() string { return u.name }
 开心乐源的博客 a backup of histories of bitcoin releases
 5年前分享牛的博客 You can get a blank screen in the details part of the Explorer. This is a known issue for Vaadin 6 and Chrome 43 and 44. There are bug fixes under way with Chrome 45, so that might fix it. Other ...
 杨明翰的博客 不定期雇用的 occasionally [əˈkeɪʒnəli] （雅思，PTE，多邻国） adv，偶尔 With that in mind I’ll occasionally add a (not assessed) quiz to drive the discussion. fabricated [ˈfæbrɪkeɪtɪd] adj，...
 weixin_33828101的博客 The core part of such a system is a protocol by which information about what is happening on the screen of the "host" machine (in this case, the user's machine) is sent to the "client" machine (the ...
 zhangrelay的博客 Ubuntu 意外死机 （Linux Crash/Hang）解决以Intel Bay Trail/J1900/N2940 为例，通常是由于linux kernel和硬件兼容性问题导致：查询网址：https://bugzilla.kernel.org/点开... Bug List: (5 of 5) First Last Prev Ne
 why4000的博客 The Gaussian Processes Web SiteThis web site aims to provide an overview of resourcesconcerned with probabilistic modeling, inference and learning based on Gaussianprocesses. Although Gaussi
 sanlinux的博客 The linuxkernel mailing list FAQ
 胡争辉的博客 These features are new in beta 0.60 (released 20070429): Pressing Ctrl+Break now sends a serial break signal. (The previous behaviour can still be obtained with Ctrl+C.) Serial port
 dengnian8283的博客 Other features unique to eBay’s search results page are the options to change the amount of items displayed per page and the ability to go directly to a specific page by entering a number into a text...
 cellbird的博客 Learning the GNU development toolsEdition 119980902Eleftherios Gkioulekas @shorttitlepage Learning the GNU development tools Copyright (C) 1998 Eleftherios Gkioulekas. All rights r
 wapysun的博客 You Asked (Jump to Tom's latest followup) Good Morning Tom. I need your expertise in this ... I got a table which contains millions or records. I want to update and commit every time for so many...
 Paul_ZJ的博客 GETTING AND CREATING PROJECTS In order to do anything in Git, you have to have a Git repository. This is where Git stores the data for the snapshots you are saving. There are two main ways to
 losemymind的博客 A push notification is a short message that consists of the device token, a payload, and a few other bits and bytes. The payload is what you are interested in, as that contains the actual data you ...