我在清单文件中添加了此intent过滤器,并且深层链接正在运行。
<?php
$serverName = "kwekwe\SQLEXPRESS";
$connectionInfo = array( "Database"=>"customerdb", "UID"=>"dbadmin", "PWD"=>"kwe[enter image description here][1]" );
$conn = sqlsrv_connect( $serverName, $connectionInfo);
if( $conn === false ) {
die( print_r( sqlsrv_errors(), true));
}
//declare the SQL statement that will query the database
$query = "SELECT * FROM Customer_Details";
//execute the SQL query and return records
$result = sqlsrv_query($conn, $query)
or die( print_r( sqlsrv_errors(), true));
//Show results in table
$o = '<table border=1 id="myTable">
<thead>
<tr>
<th>Customer ID</th>
<th>Customer Name</th>
<th>Image</th>
</tr>
</thead><tbody>';
while ( $record = sqlsrv_fetch_array($result) )
{
$o .= '<tr><td>'.$record ['Cust_ID'].'</td>';
$o .='<td>'.$record ['Cust_Name'].'</td>';
$o .='<td><img height=127 width=127 src=data:image;base64>'.$record ['image'].'</td>';
$o .='</tr>';
}
$o .= '</tbody></table>';
echo $o;
//free result set memory
//mssql_free_result($result);
//close the connection
//sqlsrv_close($dbhandle);
?>
问题在于,通过深层链接,我的应用程序将在当前应用程序之上启动。如果我在Gmail中并点击了一个链接,那么我的应用就会在Gmail上启动。
如果我的应用已经在后台运行,我点击Gmail中重定向到我的应用的链接,我有两个同时运行我的应用的实例。一个在后台,另一个在Gmail之上。我想一次只运行一个应用程序实例,因此它不在当前应用程序(Gmail)之上。
提到此链接,但未提供有效的解决方案:Deep linking and multiple app instances
答案 0 :(得分:4)
最后为我的问题添加了解决方案
"copy local = true"
在android:launchMode="singleTask"
中并覆盖Android Manifest
。并检查是否已创建现有实例。
答案 1 :(得分:1)
您应该使用Activity的launchMode
属性(取决于您期望发生的事情)。
Documentation is here