2016-09-18 12 views
1

Я хорошо продвигаюсь по пути создания моего первого приложения для Android. Я могу запустить его на своем телефоне (Android 6.1) отлично из студии Android через ADB, однако полностью не могу получить к нему доступ, если он не подключен к компьютеру.Android: Может установить apk, но не может открыть (open greyed out)

Если я устанавливаю apk вручную, приложение устанавливается нормально, но кнопка «Открыть» выделена серым цветом в конце установки. Приложение также не отображается в моем приложении, однако оно появляется в моих установленных приложениях в настройках.

Есть ли у кого-нибудь предложения?

Вот мой андроид манифеста:

<?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> 

Edit: Я могу установить APK-из неизвестных источников.

Кажется, что удаление следующего позволяет мне открыть приложение. Любые предложения, как я могу включить это в мои намерения и все еще открыть мое приложение?

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

Попробуйте принимать все из вашего .MainActivity намерения expcept в .main и .LAUNCHER ... так что это будет выглядеть как <намерения фильтра >

+0

@ jesses.co. tt удаление элемента данных из обработанного фильтра намерения (см. редактирование). Вы не знаете, как включить такой фильтр и все еще иметь действующее приложение? – 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

Нет проблем. Помните о том, чтобы поддержать или отметить как принятые ответы, которые вы считаете полезными (когда у вас достаточно репутации).Также убедитесь, что вы подтвердили первоначальный ответ! –

+0

Отмечено как ответ :) К сожалению, верхняя часть не учитывается из-за моей низкой репутации. – Tom

 Смежные вопросы

  • Нет связанных вопросов^_^