Mono Android Activity не загружается из-за неправильного имени пакета

ну, у меня проблема с моно-приложением для Android, я запускаю действие неявным образом с помощью этого кода:

        Android.Net.Uri uri = Android.Net.Uri.Parse( URL );
    Intent intent = new Intent (Intent.ActionView, uri);
    Intent chooserIntent = Intent.CreateChooser (intent, CHOOSER_TEXT);
    StartActivity (chooserIntent);

где URL просто "http://www.google.com"

появляется диалоговое окно выбора и показывает браузер и мое приложение, которое имеет разрешение для просмотра, но когда я его выбираю, оно просто вызывает исключение и останавливается. Просматривая logcat, нашел это:

если я запускаю действие вручную, в logcat я вижу это имя создаваемого действия MyBrowser.MyBrowser/mybrowser.MyBrowserActivity

но когда вызывается через селектор, активность вызывается таким образом MyBrowser.MyBrowser/mybrowser.mybrowser.MyBrowserActivity

не знаю, зачем добавляется лишний "mybrowser"

редактировать: вот полный файл androidmanifest.xml

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" android:versionCode="1" android:versionName="1.0" package="mybrowser">
    <uses-sdk />
    <application android:label="MyBrowser">
        <activity android:name=".MyBrowserActivity" android:label="MyBrowser">
      <intent-filter>
            <action android:name="android.intent.action.VIEW" />
            <data android:scheme="http" android:host="www.google.com" />
            <category android:name="android.intent.category.DEFAULT" />
            <category android:name="android.intent.category.BROWSABLE"/>
      </intent-filter>
    </activity>
    </application>
</manifest>

person nightynvid    schedule 06.05.2014    source источник
comment
Можете ли вы опубликовать фильтр намерений?   -  person SKall    schedule 07.05.2014


Ответы (1)


Вы не должны указывать это в файле AndroidManifest, сделайте это прямо в классе активности, используя атрибуты

[IntentFilter(new[] { Intent.ActionView }, DataScheme = "http", DataHost = "www.google.com", Categories = new string[] {Intent.CategoryDefault, Intent.CategoryBrowsable})]
person choper    schedule 12.05.2014