Android中的深层链接和多个应用实例

时间:2016-04-18 13:54:51

标签: android android-activity deep-linking

我在清单文件中添加了此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

2 个答案:

答案 0 :(得分:4)

最后为我的问题添加了解决方案

"copy local = true"
android:launchMode="singleTask"

并覆盖Android Manifest。并检查是否已创建现有实例。

答案 1 :(得分:1)

您应该使用Activity的launchMode属性(取决于您期望发生的事情)。 Documentation is here