我正在尝试在后台解压缩某些文件,因此我像在Google教程中一样使用IntentService。我在AndroidManifest中声明的服务类如下:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="org.osmdroid">
<uses-sdk
android:minSdkVersion="16"
android:targetSdkVersion="21" />
<application
android:configChanges="orientation|screenSize|keyboardHidden"
android:hardwareAccelerated="true"
android:icon="@drawable/ecn_icon"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name=".MapActivity"
android:icon="@drawable/ecn_icon"
android:label="test" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name=".SettingsActivity"
android:label="@string/title_activity_settings">
</activity>
<service
android:name=".UnZipService"
android:exported="false"/>
</application>
在活动中,我有
IntentFilter intentFilter = new IntentFilter(DownloadManager
.ACTION_DOWNLOAD_COMPLETE);
receiverDownloadComplete = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
long reference = intent.getLongExtra(DownloadManager
.EXTRA_DOWNLOAD_ID, -1);
if (myDownloadReference == reference) {
...
switch (status) {
case DownloadManager.STATUS_SUCCESSFUL:
Intent mServiceIntent = new Intent(context, UnZipService.class);
mServiceIntent.setData(Uri.parse(savedFilePath));
startActivity(mServiceIntent);
break;
...
}
cursor.close();
}
}
};
registerReceiver(receiverDownloadComplete, intentFilter);
和服务在这里:
public class UnZipService extends IntentService {
public UnZipService() {
super("UnZipService");
}
@Override
protected void onHandleIntent(Intent workIntent) {
String dataString = workIntent.getDataString();
Log.v("IntentURI", dataString);
Toast.makeText(this, "Installing....", Toast.LENGTH_SHORT).show();
}
它应该显示吐司只是为了测试,但我总是收到一个错误:
01-29 19:08:25.740 15521-15521/org.osmdroid E/AndroidRuntime﹕ FATAL EXCEPTION: main
java.lang.RuntimeException: Error receiving broadcast Intent { act=android.intent.action.DOWNLOAD_COMPLETE flg=0x10 pkg=org.osmdroid (has extras) } in org.osmdroid.SettingsActivity$1@21292650
at android.app.LoadedApk$ReceiverDispatcher$Args.run(LoadedApk.java:768)
at android.os.Handler.handleCallback(Handler.java:725)
at android.os.Handler.dispatchMessage(Handler.java:92)
at android.os.Looper.loop(Looper.java:150)
at android.app.ActivityThread.main(ActivityThread.java:5147)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
at dalvik.system.NativeStart.main(Native Method)
Caused by: android.content.ActivityNotFoundException: Unable to find explicit activity class {org.osmdroid/org.osmdroid.UnZipService}; have you declared this activity in your AndroidManifest.xml?
at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1618)
at android.app.Instrumentation.execStartActivity(Instrumentation.java:1417)
at android.app.Activity.startActivityForResult(Activity.java:3404)
at android.app.Activity.startActivityForResult(Activity.java:3365)
at android.support.v4.app.FragmentActivity.startActivityForResult(FragmentActivity.java:817)
at android.app.Activity.startActivity(Activity.java:3600)
at android.app.Activity.startActivity(Activity.java:3568)
at org.osmdroid.SettingsActivity$1.onReceive(SettingsActivity.java:148)
at android.app.LoadedApk$ReceiverDispatcher$Args.run(LoadedApk.java:758)
at android.os.Handler.handleCallback(Handler.java:725)
at android.os.Handler.dispatchMessage(Handler.java:92)
at android.os.Looper.loop(Looper.java:150)
at android.app.ActivityThread.main(ActivityThread.java:5147)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
at dalvik.system.NativeStart.main(Native Method)
两者(类和活动)都位于同一文件夹(org.osmdroid)中。似乎可以使用路径,但是问题出现了,我没有更多的想法了……
您正在将服务作为活动启动
更改
Intent mServiceIntent = new Intent(context, UnZipService.class);
mServiceIntent.setData(Uri.parse(savedFilePath));
startActivity(mServiceIntent);
至
Intent mServiceIntent = new Intent(context, UnZipService.class);
mServiceIntent.setData(Uri.parse(savedFilePath));
startService(mServiceIntent); // Only this line is changed
我犯了这些错误 Android.Content.ActivityNotFoundException:无法找到显式活动类{};您是否在AndroidManifest.xml中声明了此活动?在Android.app.instrumentation.checkStartActivityResult(instrumentation.java:2005),在Android.app.instrumentati
在暂停了一段时间的Android Studio项目的工作,然后返回并将其添加到SVN中,我无法再使该项目运行;在我看来,最初的可能是由于缺少正确的“SVN忽略”规则而丢失的,而且当我在一台新机器上创建了一个新的Android Studio项目,并从SVN更新了它,然后提交(不幸的是,在我工作的另一台机器上也已经更新了)时,SVN似乎使用了更新的清单文件,可能还有正确构建该项目所需的其他文件。 除了
我还没有在网上找到解决方案。我的所有活动都是声明的,但Android Studio经常会告诉我它找不到它们。它并不总是发生,而且似乎是随机发生的。我已经清理、无效并重新启动、重建,有时这会得到修复,然后在一段时间后再次发生。我在这个项目的团队中工作,我似乎是唯一一个有bug的人: 这是我的毕业生
本文向大家介绍C#标准活动声明,包括了C#标准活动声明的使用技巧和注意事项,需要的朋友参考一下 示例 事件声明: 事件处理程序声明: 订阅活动: 动态地: 通过设计师: 单击控件的属性窗口上的“事件”按钮(闪电) 双击事件名称: Visual Studio将生成事件代码: 调用方法:
这是我运行应用程序时的清单文件,上面写着“主活动未在AndroidManifest.xml中声明” 我尝试重建,无效缓存/重启,添加 我昨天做了一个apk,直到那时它工作正常,但今天当我打开它时,它显示了这个错误。 以下是主要活动。JAVA logcat 2019-03-14 17:02:33.4925363-5363/com。基瓦尔。致命异常:AndroadCame。基瓦尔。拉格班达尔,PID:
我正在学习使用rspec在我的木偶模块上进行单元测试,但不知何故,我的简单模块“rspec_test”无法通过测试。该模块只包含一个 init.pp 文件,如下所示: init.pp 以下是执行“$ 佣金规范”的错误消息: 我将测试文件命名为“init_spec.rb ”,内容如下: 和其他文件... 耙 spec_helper.rb 我在模块的根目录中执行了“$ rspec-puppet-ini