2016-09-18 256 views
1

我很早就創建了我的第一個Android應用程序。我可以通過ADB在Android手機上運行它(Android 6.1),但在未連接到計算機時完全無法訪問它。Android:可以安裝apk但不能打開(打開灰色)

如果我手動安裝apk,應用程序安裝正常,但在安裝結束時「打開」按鈕變灰。該應用程序也不會出現在我的應用程序繪製中,但是在設置下出現在我已安裝的應用程序中。

有沒有人有任何建議?

這是我的Android清單:

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="com.domain.mediasyncer"> 

    <uses-permission android:name="android.permission.INTERNET" /> 

    <application 
     android:allowBackup="true" 
     android:icon="@mipmap/ic_launcher" 
     android:label="@string/app_name" 
     android:supportsRtl="true" 
     android:theme="@style/AppTheme"> 
     <activity 
      android:name=".MainActivity" 
      android:label="@string/app_name" 
      android:enabled="true" 
      android:theme="@style/AppTheme.NoActionBar"> 
      <intent-filter> 
       <action android:name="android.intent.action.MAIN" /> 
       <category android:name="android.intent.category.LAUNCHER" /> 
       <action android:name="android.intent.action.VIEW" /> 
       <category android:name="android.intent.category.DEFAULT" /> 
       <category android:name="android.intent.category.BROWSABLE" /> 
       <data 
        android:host="oauthresponse" 
        android:scheme="mediasyncer" /> 
      </intent-filter> 
     </activity> 
     <activity 
      android:name=".ShowActivity" 
      android:label="@string/title_activity_show" 
      android:theme="@style/AppTheme.NoActionBar" /> 
     <activity 
      android:name=".SeasonActivity" 
      android:label="@string/title_activity_season" 
      android:theme="@style/AppTheme.NoActionBar" /> 
    </application> 

</manifest> 

編輯:我能夠從未知來源安裝的APK。

看來,刪除以下允許我打開該應用程序。任何建議如何我可以包括在我的意圖,仍然打開我的應用程序?

<data android:host="oauthresponse" android:scheme="mediasyncer" /> 
+0

嘗試採取一切你的.MainActivity意圖expcept的。主要和.LAUNCHER的...所以它看起來像<意圖過濾器>

+0

@ jesses.co。從意圖過濾器中刪除數據元素(請參閱編輯)。你有任何想法如何包括這樣的過濾器,仍然有一個功能的應用程序? – Tom

+0

是的,自從我使用它以來已經有一段時間了,但我認爲他們不應該在你的發射器活動中。基本上你想要深入鏈接到一個特定的活動,對吧? –

回答

1

從這裏複製:https://stackoverflow.com/a/29477867/1226095有輕微改動

由於意圖過濾器匹配/解析過程中,當Android「的顯示應用程序」中的發射器,它顯示使用匹配機制列表,當你添加你的應用程序不匹配時,因爲系統在顯示啓動器時不會帶來任何數據。

的解決方案是創建另一個意圖過濾器,例如:

<activity 
     android:name=".MainActivity" 
     android:label="@string/app_name" 
     android:enabled="true" 
     android:theme="@style/AppTheme.NoActionBar"> 
      <intent-filter> 
        <action android:name="android.intent.action.MAIN" /> 
        <category android:name="android.intent.category.LAUNCHER" /> 
       </intent-filter> 
       <intent-filter> 
        <action android:name="android.intent.action.VIEW" /> 
        <category android:name="android.intent.category.DEFAULT" /> 
        <data 
         android:host="oauthresponse" 
         android:scheme="mediasyncer" /> 
       </intent-filter> 
     </activity> 
+0

此解決方案適用於我。感謝所有的幫助。 在我的情況下(因爲我的意圖使用瀏覽器),我需要第二個意圖過濾器中的以下行: Tom

+0

沒問題。請記住,注意或標記爲您認爲有用的已接受答案(當您有足夠的聲望時)。還請確保upvote原來的答案! –

+0

標記爲已回答:)可悲的是,upvote不算,因爲我的聲望很低。 – Tom

相關問題