0

Serviceコード内のURIを使用して、起動時に別のアプリを開くようにしようとしています。私BroadcastRecieverとマニフェストには正しいコードがあるので、これは this にあると思われますmainActivity

私はEclipseを使用していますが、エラーや警告はありませんが、電話で実行すると次のエラーが発生します:

残念ながら anyConnectService は停止しました

LogCat には、最初のエラーとして次のものがあります。

FATAL EXCEPTION MAIN
java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.example.anyconnect/com.anyconnectservice,MainActivity}

次のコードを見て、解決策を提供してください。

ありがとう

public abstract class MainActivity extends Service
{
    @override
    public void onCreate()
    {
        super.onCreate();
        Toast.makeText(this, “Service created”,Toast.LENGTH_LONG).show();

        Uri anyConnectUri = Uri.parse(“anyconnect://connect/name= TestVPN”);
        Intent arg0 = new Intent(Intent.ACTION_VIEW, anyConnectUri);
        this.startActivity(arg0);
    }
}
4

3 に答える 3

0

そうではありませんか (いいえabstract):

public class MainActivity extends Service
{
    @override
    public void onCreate()
    {
        super.onCreate();
        Toast.makeText(this, “Service created”,Toast.LENGTH_LONG).show();

        Uri anyConnectUri = Uri.parse(“anyconnect://connect/name= TestVPN”);
        Intent arg0 = new Intent(Intent.ACTION_VIEW, anyConnectUri);
        this.startActivity(arg0);
    }
}

ただし、これはアクティビティではなくサービスであるため、クラスの名前をその用途をよりよく反映するように変更することをお勧めします。

于 2012-08-15T19:09:39.217 に答える
0

コンポーネントを設定する必要があると思います:

intent.setComponent(new ComponentName("com.package.address","com.package.address.MainActivity"));
于 2012-08-15T15:44:36.180 に答える
0

VIEWインテントに入れたデータの内容を処理 できるアクティビティを呼び出しています。

Intent.ACTION_VIEWただし、 type: のメッセージをリッスンし、Uri を受け入れるアプリケーションがインストールされていない場合、ほとんどの場合、アプリケーションは例外をスローします。

あなたの説明から: service to open **another app**.
さて、「別のアプリ」が見つからないようです。

于 2012-08-15T15:46:50.657 に答える