繁体   English   中英

Android:可以安装APK,但无法打开(打开为灰色)

[英]Android: Can install apk but can't open (open greyed out)

我正在创建我的第一个android应用程序。 我可以通过ADB在Android Studio的手机(Android 6.1)上正常运行它,但是当未连接到计算机时完全无法访问它。

如果我手动安装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" />

从此处复制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>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM