0

我试图Service让它在使用代码中的 URI 启动时打开另一个应用程序。我的BroadcastReciever和 manifest 有正确的代码,所以我怀疑它是 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

您正在调用一个 Activity,该 Activity 可以VIEW包含您放入 Intent 中的数据内容。

但是,如果您没有安装任何侦听类型消息Intent.ACTION_VIEW并接受 Uri 的应用程序,那么该应用程序很可能会抛出异常。

根据您的描述:service to open **another app**
好吧,似乎找不到“另一个应用程序”。

于 2012-08-15T15:46:50.657 回答