我正在使用以下代码通过我的应用程序检查互联网连接。
public class ConnectionChangeReceiver extends BroadcastReceiver
{
@Override
public void onReceive( Context context, Intent intent )
{
ConnectivityManager connectivityManager = (ConnectivityManager)context.getSystemService( Context.CONNECTIVITY_SERVICE );
NetworkInfo activeNetInfo = connectivityManager.getActiveNetworkInfo();
NetworkInfo mobNetInfo = connectivityManager.getNetworkInfo(ConnectivityManager.TYPE_MOBILE );
if (activeNetInfo != null)
{
Toast.makeText( context, "Active Network Type : " +
activeNetInfo.getTypeName(), Toast.LENGTH_SHORT ).show();
}
if(mobNetInfo != null)
{
Toast.makeText( context, "Mobile Network Type : " +
mobNetInfo.getTypeName(), Toast.LENGTH_SHORT ).show();
}
}
}
我已经在清单文件中定义了所需的权限。
每当我尝试使用F8键断开/连接网络时,我都会收到“不幸的是,应用程序已停止”,并且我在logcat
中没有收到任何打印。
我能知道我犯了什么错误吗?
针对Android 7.0(API级别24)及更高版本的应用程序如果在其清单中声明广播接收器,则不会接收此广播。如果应用程序向Context.register接收器()注册其BroadcastRecector,并且该上下文仍然有效,则应用程序仍将接收广播。
https://developer.android.google.cn/reference/android/net/ConnectivityManager.html?hl=zh-cn#连通性行动
上述代码无法正常用于wi-fi连接。这是修改后的
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
androidmanifest.xml的内部应用程序标签
<receiver android:name="android.YOUR-JAVA-CLASS-PATH.BackgroundSync" android:enabled="true">
<intent-filter>
<action android:name="android.net.conn.CONNECTIVITY_CHANGE" />
</intent-filter>
</receiver>
背景同步。JAVA
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.net.ConnectivityManager;
import android.util.Log;
import android.widget.Toast;
public class BackgroundSync extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
ConnectivityManager cm =(ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
if (cm.getActiveNetworkInfo()!=null){
Toast.makeText(context, "Connected to Internet", Toast.LENGTH_LONG).show();
}
else Log.i("INTERNET","---------------------> Internet Disconnected. ");
}
}
注意:如果你的目标是Android N预览。以上接收器将无法按照谷歌的限制工作。
链接:https://developer.android.com/preview/features/background-optimization.html#connectivity-行动
使用: WorkManager或JobScheduler。
您是否已在AndroidManifest中添加了此项。xml?
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
如果您已添加了以上内容,请检查此代码:
<receiver android:name=".UpdateReceiver" >
<intent-filter>
<action android:name="android.net.conn.CONNECTIVITY_CHANGE" />
</intent-filter>
</receiver>
和
public class UpdateReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
ConnectivityManager connectivityManager = (ConnectivityManager)context.getSystemService(Context.CONNECTIVITY_SERVICE );
NetworkInfo activeNetInfo = connectivityManager.getNetworkInfo(ConnectivityManager.TYPE_MOBILE);
boolean isConnected = activeNetInfo != null && activeNetInfo.isConnectedOrConnecting();
if (isConnected)
Log.i("NET", "Connected" + isConnected);
else
Log.i("NET", "Not Connected" + isConnected);
}
}
我想在通知上打开我的MapsActive单击通知正常工作,但当我单击通知时,它会让我停止应用程序 通知活动。班 地图civity.class activity_map LogCat ethod.invokeActivityTcom.android.internal.os.LaunchActive(ActivityTaller.run)atnit.java:726ActivityTcom.andro
这个想法是在警报开始时启动一个游戏。我在下面展示了manifest.xml。如果我犯了错误,请纠正我。因为我刚接触Android系统,所以我无法理解它。PS:我已经搜索了其他类似的问题,并纠正了许多其他错误,但问题仍然存在。 这是我从教程(AndroidTimeActivity)中获得的警报代码: 这是AlarmReceiver类:
问题内容: 我是android应用程序开发的新手(仅从昨天开始我才开始学习android)。 我在AVD中收到消息,例如-不幸地已停止,请帮助我解决此错误,我想在android中学习更多信息,但被此错误所吸引.. plz..plz ..帮助我解决这个问题。 我的main.java是 } 我的main.xml是 和日志是 请解释为什么会这样。告诉我解决方案 问题答案: 您在第38行获得了NPE,即:
每次我在手机上运行应用程序都会崩溃。有什么不对劲吗?它说不幸的是“appname”已经停止工作。我也尝试过其他方法来检查Google Play服务,但它总是崩溃。我更新了我的google play服务,让一个运行良好的google map v2完美运行。这个代码有什么解决方案吗?它在我运行android 4.1.2的手机和我的AVD上崩溃。
我在Mac上的Eclipse中创建了一个新的Android应用程序项目。我设置了它Android4.4.2 sdk。 当我在物理Nexus 7平板电脑中安装此示例项目时,它会抛出以下启动错误。我尚未在此项目中添加任何内容,它只是一个按原样创建的示例项目。 不幸的是已经停止了 代码: Android智能.xml: 对于,值/styles.xml和值-v11/styles.xml和值-v14/styl
我正试图将我的启动器活动更改为我刚刚使用twitter数字开发的身份验证活动,我已经在android和java代码中进行了必要的调整,但注意到每次尝试启动时应用程序都会崩溃,身份验证活动的名称是。在调试会话期间,我从android监视器控制台观察到,在com.close.close.aboutactivity.oncreate(aboutactivity.java:34)处蓝色突出显示的一行