ActivityToLaunch не может быть разрешен для типа - PullRequest
0 голосов
/ 26 января 2012

Теперь я хотел бы сделать ярлык, поэтому мой код:

    ShortcutIconResource icon = Intent.ShortcutIconResource.fromContext(this, R.drawable.icon);
    Intent intent = new Intent();
    Intent launchIntent = new Intent(this, ActivityToLaunch.class);

    intent.putExtra( Intent.EXTRA_SHORTCUT_INTENT, launchIntent );
    intent.putExtra( Intent.EXTRA_SHORTCUT_NAME, /*someNickname()*/"" );
    intent.putExtra( Intent.EXTRA_SHORTCUT_ICON_RESOURCE, icon );   
    setResult(RESULT_OK, intent); 

Но я получил это сообщение об ошибке.

ActivityToLaunch не может быть преобразован в тип

В stackoverflow я видел много кодов, таких как

Intent launchIntent = new Intent(this, ActivityToLaunch.class);

В чем дело?

Мой проект использует Android SDK версии 2.2 и импортирует

import android.app.Activity;
import android.content.Intent;
import android.content.Intent.ShortcutIconResource;
import android.os.Bundle;

Мой манифест.xml - это

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
  package="com.my.mytest"
  android:versionCode="1"
  android:versionName="1.0">
<uses-sdk android:minSdkVersion="8" />

<activity android:name=".ShortCutActivity" android:label="@string/shortcut_label">  

       <intent-filter>  
              <action android:name="android.intent.action.CREATE_SHORTCUT" />     
              <category android:name="android.intent.category.DEFAULT" />   
       </intent-filter> 
</activity>
<application android:icon="@drawable/icon" android:label="@string/app_name">
    <activity android:name=".TestActivity"
              android:label="@string/app_name">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>

</application>
</manifest>

, а apkname - это и com.my.mytest.

Пожалуйста, помогите мне.

Спасибо.

Ответы [ 3 ]

0 голосов
/ 26 января 2012

Является ли ActivityToLaunch фактическим названием вашей деятельности? Потому что, в соответствии с вашим манифестом, вам нужно, вероятно,

Intent launchIntent = new Intent(this, ShortCutActivity.class);

или

Intent launchIntent = new Intent(this, TestActivity.class);
0 голосов
/ 26 января 2012

ActivityToLaunch.class не определен в файле манифеста.Как указал Владмир, вам нужно ввести действительный класс для Activity.

0 голосов
/ 26 января 2012

Вы, вероятно, забыли импортировать класс:

import package.name.ActivityToLaunch;

В Eclipse введите Ctrl + Shift + O, чтобы автоматически импортировать класс. Если это не помогло, проверьте правильность написания.

...